/*
 * Copyright (C) Hisilicon Technologies Co., Ltd. 2012-2019. All rights reserved.
 * Description: Function of imx307_cmos_ex.h
 * Author: ISP SW
 * Create: 2012/06/28
 */

#ifndef __IMX307_CMOS_EX_H_
#define __IMX307_CMOS_EX_H_

#ifdef __cplusplus
#if __cplusplus
extern "C" {
#endif
#endif

static const ISP_CMOS_DPC_S g_stCmosDpc = {
    { 0, 0, 0, 152, 160, 180, 180, 180, 190, 180, 152, 152, 152, 152, 152, 152 }, /* au16Strength[16] */
    { 0, 0, 0, 0, 0, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50 },                /* au16BlendRatio[16] */
};

#ifdef CONFIG_HI_ISP_CR_SUPPORT
static const ISP_CMOS_GE_S g_stIspGe = {
    /* For GE */
    0,                                                                                  /* bEnable */
    9,                                                                                  /* u8Slope */
    9,                                                                                  /* u8SensiSlope */
    300,                                                                                /* u16SensiThr */
    { 300, 300, 300, 300, 310, 310, 310, 310, 320, 320, 320, 320, 330, 330, 330, 330 },
    { 128, 128, 128, 128, 129, 129, 129, 129, 130, 130, 130, 130, 131, 131, 131, 131 },
    { 1024, 1024, 1024, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048 }
};

static const ISP_CMOS_GE_S g_stIspWdrGe = {
    /* For GE */
    0,                                                                                  /* bEnable */
    9,                                                                                  /* u8Slope */
    9,                                                                                  /* u8SensiSlope */
    300,                                                                                /* u16SensiThr */
    { 300, 300, 300, 300, 310, 310, 310, 310, 320, 320, 320, 320, 330, 330, 330, 330 },
    { 128, 128, 128, 128, 129, 129, 129, 129, 130, 130, 130, 130, 131, 131, 131, 131 },
    { 1024, 1024, 1024, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048 }
};
#endif

static const ISP_CMOS_DEMOSAIC_S g_stIspDemosaic = {
    1,  // bEnable
    /* au8NonDirStr */
    { 64, 64, 64, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 },
    /* au8NonDirMFDetailEhc */
    { 48, 48, 40, 40, 30, 30, 30, 30, 22, 16, 16, 16, 16, 16, 16, 16 },
    /* au8NonDirHFDetailEhc */
    { 0, 0, 1, 2, 3, 4, 5, 5, 5, 5, 5, 7, 7, 7, 7, 7 },
    /* au8DetailSmoothRange */
    { 2, 2, 2, 2, 2, 2, 3, 4, 5, 5, 7, 7, 7, 7, 7, 7 },
};

static const ISP_CMOS_DEMOSAIC_S g_stIspDemosaicWdr = {
    1,  // bEnable
    /* au8NonDirStr */
    { 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64 },
    /* au8NonDirMFDetailEhc */
    { 55, 55, 50, 45, 40, 35, 30, 25, 22, 16, 16, 16, 16, 16, 16, 16 },
    /* au8NonDirHFDetailEhc */
    { 0, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 5, 5, 5, 5, 5 },
    /* au8DetailSmoothRange */
    { 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 7, 7, 7, 7, 7, 7 },
};

static const ISP_CMOS_ANTIFALSECOLOR_S g_stIspAntiFalseColor = {
    1,                                                    /* bEnable */
    { 10, 10, 8, 8, 7, 7, 7, 6, 6, 6, 5, 4, 3, 2, 1, 0 }, /* au8AntiFalseColorThreshold */
    { 8, 8, 8, 8, 7, 7, 7, 6, 6, 6, 5, 4, 3, 2, 1, 0 },   /* au8AntiFalseColorStrength */
};

static const ISP_CMOS_ANTIFALSECOLOR_S g_stIspWdrAntiFalseColor = {
    1,                                                  /* bEnable */
    { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 1, 0 }, /* au8AntiFalseColorThreshold */
    { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 1, 0 }, /* au8AntiFalseColorStrength */
};

/* BAYER NR */
static ISP_CMOS_NOISE_CALIBRATION_S g_stIspNoiseCalibration = {
    10,  // Calibration Lut Num
    /* ************Calibration LUT Table************ */
    {{ 100.000000f, 0.025472f, 0.008370f },
     { 200.000000f, 0.051026f, 0.020051f },
     { 400.000000f, 0.100380f, 0.002657f },
     { 800.000000f, 0.199705f, 0.024892f },
     { 1600.000000f, 0.397814f, 0.118102f },
     { 3200.000000f, 0.792300f, 0.443096f },
     { 6400.000000f, 1.554968f, 2.329596f },
     { 12800.000000f, 3.029946f, 11.217048f },
     { 25600.000000f, 5.870243f, 45.309135f },
     { 51200.000000f, 10.794330f, 187.701797f }}
    /*********************************************/
};
static const ISP_CMOS_BAYERNR_S g_stIspBayerNr = {
    1,                                                                   // bEnable
    0,                                                                   // bBnrMonoSensorEn
    0,                                                                   // bNrLscEnable
    96,                                                                  // u8BnrLscMaxGain
    256,                                                                 // u16BnrLscCmpStrength
    { 65, 65, 65, 65, 65, 65, 60, 55, 48, 46, 30, 16, 16, 16, 16, 16 },  // FineStr
    {
        { 0, 0, 0, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3 },  // ChromaStrR
        { 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2 },  // ChromaStrGr
        { 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2 },  // ChromaStrGb
        { 0, 0, 0, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3 }   // ChromaStrB
    },
    { 0, 0, 0, 0 },  // WDRFrameStr
    { 0, 0, 0, 0 },  // FusionFrameStr
    {
        { 120, 140, 180, 200, 240, 280, 300, 320, 340, 380, 340, 340, 300, 300, 280, 280 },  // CoarseStrR
        { 108, 110, 115, 125, 135, 160, 180, 180, 180, 180, 160, 160, 148, 148, 138, 138 },  // CoarseStrGR
        { 108, 110, 115, 125, 135, 160, 180, 180, 180, 180, 160, 160, 148, 148, 138, 138 },  // CoarseStrGB
        { 120, 140, 180, 200, 240, 280, 300, 300, 340, 380, 340, 340, 300, 300, 280, 280 }   // CoarseStrB
    },
    { 30, 30, 30, 20, 20, 20, 22, 25, 25, 30, 30, 30, 30, 30, 30, 30 },  // lutCoringWeight
    {
        10,  20,  40,  80,  100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
        100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100
    },  // CoringRatio
};

static const ISP_CMOS_BAYERNR_S g_stIspBayerNrWdr2To1 = {
    1,                                                                    // bEnable
    0,                                                                    // bBnrMonoSensorEn
    0,                                                                    // bNrLscEnable
    96,                                                                   // u8BnrLscMaxGain
    256,                                                                  // u16BnrLscCmpStrength
    { 100, 90, 80, 70, 60, 50, 40, 30, 20, 16, 16, 16, 16, 16, 16, 16 },  // FineStr
    {
        { 0, 0, 0, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3 },  // ChromaStrR
        { 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2 },  // ChromaStrGr
        { 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2 },  // ChromaStrGb
        { 0, 0, 0, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3 }   // ChromaStrB
    },
    { 16, 6, 12, 0 },  // WDRFrameStr
    { 16, 6, 0, 0 },   // FusionCoarseStr
    {
        { 120, 125, 130, 135, 140, 145, 150, 155, 160, 160, 160, 160, 160, 160, 160, 160 },  // CoarseStrR
        { 100, 105, 110, 115, 120, 125, 130, 135, 140, 140, 140, 140, 140, 140, 140, 140 },  // CoarseStrGR
        { 100, 105, 110, 115, 120, 125, 130, 135, 140, 140, 140, 140, 140, 140, 140, 140 },  // CoarseStrGB
        { 120, 125, 130, 135, 140, 145, 150, 155, 160, 160, 160, 160, 160, 160, 160, 160 },  // CoarseStrB
    },
    { 25, 25, 25, 25, 25, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30 },  // lutCoringWeight
    {
        10,  20,  40,  80,  100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
        100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100
    },  // coring ratio
};

static const ISP_CMOS_DETAIL_S g_stIspDetail = {
    { 0,  // bEnable
    { 256, 256, 200, 170, 150, 100, 60, 60, 60, 80, 80, 80, 80, 50, 50, 100, 100 },
    0,        // enOpType
    {
        { 150, 150, 150, 150, 170, 190, 190, 150, 150, 150, 150, 150, 150, 150, 150, 150 },  // au16GlobalGain;
        { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 },                                  // au16GainLF;
        { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 },                                  // au16GainHF;
    },
    {
        150,  // u16GlobalGain;
        9,    // u16GainLF;
        9     // u16GainHF;
    }
    }
};

static const ISP_CMOS_DETAIL_S g_stIspDetailWdr2To1 = {
    { 0,  // bEnable
    { 256, 256, 200, 170, 150, 100, 60, 60, 60, 80, 80, 80, 80, 50, 50, 100, 100 },
    0,        // enOpType
    {
        { 150, 150, 150, 150, 170, 190, 190, 150, 150, 150, 150, 150, 150, 150, 150, 150 },  // au16GlobalGain;
        { 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 },                                  // au16GainLF;
        { 9, 9, 9, 9, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12 },                      // au16GainHF;
    },
    {
        150,  // u16GlobalGain;
        9,    // u16GainLF;
        9     // u16GainHF;
    }
    }
};

static const ISP_CMOS_LDCI_S g_stIspLdci = {
    /* bEnable */
    1,
    /* u8GaussLPFSigma */
    20,

    /* au8HePosWgt */
    { 120, 100, 80, 60, 50, 40, 20, 8, 6, 0, 0, 0, 0, 0, 0, 0 },
    /* au8HePosSigma */
    { 90, 80, 60, 50, 40, 30, 20, 20, 12, 8, 6, 2, 1, 1, 1, 1 },
    /* au8HePosMean */
    { 0, 0, 0, 30, 30, 30, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

    /* au8HeNegWgt */
    { 32, 32, 42, 54, 64, 24, 12, 8, 6, 0, 0, 0, 0, 0, 0, 0 },
    /* au8HeNegSigma */
    { 46, 46, 48, 48, 48, 72, 64, 54, 36, 8, 6, 2, 1, 1, 1, 1 },
    /* au8HeNegMean */
    { 128, 128, 140, 160, 180, 180, 180, 180, 180, 0, 0, 0, 0, 0, 0, 0 },

    /* au16BlcCtrl */
    { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 }
};

static const ISP_CMOS_LDCI_S g_stIspWdrLdci = {
    /* bEnable */
    1,
    /* u8GaussLPFSigma */
    20,
    /* au8HePosWgt */
    { 60, 60, 60, 50, 40, 30, 20, 8, 6, 0, 0, 0, 0, 0, 0, 0 },
    /* au8HePosSigma */
    { 80, 70, 60, 50, 40, 30, 20, 20, 12, 8, 6, 2, 1, 1, 1, 1 },
    /* au8HePosMean */
    { 50, 50, 40, 30, 30, 30, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

    /* au8HeNegWgt */
    { 32, 32, 42, 54, 64, 24, 12, 8, 6, 0, 0, 0, 0, 0, 0, 0 },
    /* au8HeNegSigma */
    { 46, 46, 48, 48, 48, 72, 64, 54, 36, 8, 6, 2, 1, 1, 1, 1 },
    /* au8HeNegMean */
    { 128, 128, 140, 160, 180, 180, 180, 180, 180, 0, 0, 0, 0, 0, 0, 0 },
    /* au16BlcCtrl */
    { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 }
};

static const ISP_CMOS_GAMMA_S g_stIspGamma = {
    /* au16Gamma[GAMMA_EXT_NODE_NUMBER] */
    { 0,    32,   44,   56,   68,   79,   91,   103,  115,  127,  139,  151,  163,  175,  187,  199,  211,  223,  235,
      247,  259,  271,  283,  295,  307,  318,  330,  342,  354,  366,  377,  389,  401,  413,  424,  436,  448,  459,
      471,  482,  494,  506,  517,  528,  540,  551,  563,  574,  585,  596,  608,  619,  630,  641,  652,  663,  674,
      685,  696,  707,  718,  728,  739,  750,  760,  771,  781,  792,  802,  813,  823,  833,  843,  854,  864,  874,
      884,  894,  904,  914,  923,  933,  943,  953,  962,  972,  981,  991,  1000, 1010, 1019, 1028, 1037, 1046, 1056,
      1065, 1074, 1083, 1092, 1101, 1109, 1118, 1127, 1136, 1144, 1153, 1161, 1170, 1178, 1187, 1195, 1203, 1212, 1220,
      1228, 1236, 1244, 1253, 1261, 1269, 1277, 1284, 1292, 1300, 1308, 1316, 1323, 1331, 1339, 1346, 1354, 1361, 1369,
      1376, 1384, 1391, 1398, 1406, 1413, 1420, 1427, 1434, 1442, 1449, 1456, 1463, 1470, 1477, 1484, 1491, 1497, 1504,
      1511, 1518, 1525, 1531, 1538, 1545, 1551, 1558, 1565, 1571, 1578, 1584, 1591, 1597, 1604, 1610, 1616, 1623, 1629,
      1635, 1642, 1648, 1654, 1660, 1667, 1673, 1679, 1685, 1691, 1697, 1703, 1709, 1716, 1722, 1728, 1734, 1739, 1745,
      1751, 1757, 1763, 1769, 1775, 1781, 1786, 1792, 1798, 1804, 1810, 1815, 1821, 1827, 1832, 1838, 1844, 1849, 1855,
      1860, 1866, 1872, 1877, 1883, 1888, 1894, 1899, 1904, 1910, 1915, 1921, 1926, 1931, 1937, 1942, 1947, 1953, 1958,
      1963, 1969, 1974, 1979, 1984, 1989, 1995, 2000, 2005, 2010, 2015, 2020, 2025, 2030, 2035, 2040, 2045, 2050, 2055,
      2060, 2065, 2070, 2075, 2080, 2085, 2090, 2094, 2099, 2104, 2109, 2114, 2118, 2123, 2128, 2132, 2137, 2142, 2146,
      2151, 2156, 2160, 2165, 2170, 2174, 2179, 2183, 2188, 2192, 2197, 2201, 2206, 2210, 2214, 2219, 2223, 2228, 2232,
      2236, 2241, 2245, 2249, 2253, 2258, 2262, 2266, 2270, 2275, 2279, 2283, 2287, 2291, 2296, 2300, 2304, 2308, 2312,
      2316, 2320, 2324, 2328, 2332, 2336, 2340, 2344, 2348, 2352, 2356, 2360, 2364, 2368, 2372, 2376, 2380, 2384, 2388,
      2391, 2395, 2399, 2403, 2407, 2411, 2414, 2418, 2422, 2426, 2430, 2433, 2437, 2441, 2445, 2448, 2452, 2456, 2459,
      2463, 2467, 2470, 2474, 2478, 2481, 2485, 2489, 2492, 2496, 2500, 2503, 2507, 2510, 2514, 2517, 2521, 2525, 2528,
      2532, 2535, 2539, 2542, 2546, 2549, 2553, 2557, 2560, 2564, 2567, 2571, 2574, 2578, 2581, 2585, 2588, 2591, 2595,
      2598, 2602, 2605, 2609, 2612, 2616, 2619, 2623, 2626, 2629, 2633, 2636, 2640, 2643, 2646, 2650, 2653, 2657, 2660,
      2663, 2667, 2670, 2673, 2677, 2680, 2684, 2687, 2690, 2694, 2697, 2700, 2704, 2707, 2710, 2713, 2717, 2720, 2723,
      2727, 2730, 2733, 2736, 2740, 2743, 2746, 2749, 2753, 2756, 2759, 2762, 2765, 2769, 2772, 2775, 2778, 2781, 2784,
      2788, 2791, 2794, 2797, 2800, 2803, 2806, 2809, 2812, 2815, 2819, 2822, 2825, 2828, 2831, 2834, 2837, 2840, 2843,
      2846, 2849, 2852, 2855, 2858, 2861, 2864, 2867, 2870, 2873, 2876, 2878, 2881, 2884, 2887, 2890, 2893, 2896, 2899,
      2902, 2905, 2907, 2910, 2913, 2916, 2919, 2922, 2925, 2927, 2930, 2933, 2936, 2939, 2942, 2944, 2947, 2950, 2953,
      2956, 2959, 2961, 2964, 2967, 2970, 2973, 2975, 2978, 2981, 2984, 2987, 2989, 2992, 2995, 2998, 3001, 3003, 3006,
      3009, 3012, 3014, 3017, 3020, 3023, 3026, 3028, 3031, 3034, 3037, 3039, 3042, 3045, 3048, 3051, 3053, 3056, 3059,
      3062, 3064, 3067, 3070, 3073, 3075, 3078, 3081, 3084, 3086, 3089, 3092, 3095, 3098, 3100, 3103, 3106, 3109, 3111,
      3114, 3117, 3119, 3122, 3125, 3128, 3130, 3133, 3136, 3139, 3141, 3144, 3147, 3149, 3152, 3155, 3158, 3160, 3163,
      3166, 3168, 3171, 3174, 3176, 3179, 3182, 3184, 3187, 3190, 3192, 3195, 3198, 3200, 3203, 3206, 3208, 3211, 3213,
      3216, 3219, 3221, 3224, 3226, 3229, 3232, 3234, 3237, 3239, 3242, 3244, 3247, 3250, 3252, 3255, 3257, 3260, 3262,
      3265, 3267, 3270, 3272, 3275, 3277, 3280, 3282, 3285, 3287, 3290, 3292, 3295, 3297, 3300, 3302, 3305, 3307, 3310,
      3312, 3314, 3317, 3319, 3322, 3324, 3326, 3329, 3331, 3334, 3336, 3338, 3341, 3343, 3345, 3348, 3350, 3353, 3355,
      3357, 3360, 3362, 3364, 3366, 3369, 3371, 3373, 3376, 3378, 3380, 3383, 3385, 3387, 3389, 3392, 3394, 3396, 3398,
      3401, 3403, 3405, 3407, 3409, 3412, 3414, 3416, 3418, 3420, 3423, 3425, 3427, 3429, 3431, 3434, 3436, 3438, 3440,
      3442, 3444, 3446, 3449, 3451, 3453, 3455, 3457, 3459, 3461, 3463, 3466, 3468, 3470, 3472, 3474, 3476, 3478, 3480,
      3482, 3484, 3486, 3489, 3491, 3493, 3495, 3497, 3499, 3501, 3503, 3505, 3507, 3509, 3511, 3513, 3515, 3517, 3519,
      3521, 3523, 3525, 3527, 3529, 3531, 3533, 3535, 3537, 3539, 3542, 3544, 3546, 3548, 3550, 3552, 3554, 3556, 3558,
      3560, 3562, 3563, 3565, 3567, 3569, 3571, 3573, 3575, 3577, 3579, 3581, 3583, 3585, 3587, 3589, 3591, 3593, 3595,
      3597, 3599, 3601, 3603, 3605, 3607, 3609, 3611, 3613, 3615, 3617, 3619, 3621, 3622, 3624, 3626, 3628, 3630, 3632,
      3634, 3636, 3638, 3640, 3642, 3644, 3646, 3648, 3649, 3651, 3653, 3655, 3657, 3659, 3661, 3663, 3665, 3667, 3669,
      3671, 3672, 3674, 3676, 3678, 3680, 3682, 3684, 3686, 3688, 3690, 3691, 3693, 3695, 3697, 3699, 3701, 3703, 3705,
      3707, 3708, 3710, 3712, 3714, 3716, 3718, 3720, 3722, 3723, 3725, 3727, 3729, 3731, 3733, 3735, 3737, 3738, 3740,
      3742, 3744, 3746, 3748, 3750, 3751, 3753, 3755, 3757, 3759, 3761, 3763, 3764, 3766, 3768, 3770, 3772, 3774, 3776,
      3777, 3779, 3781, 3783, 3785, 3787, 3789, 3790, 3792, 3794, 3796, 3798, 3800, 3802, 3804, 3805, 3807, 3809, 3811,
      3813, 3815, 3817, 3818, 3820, 3822, 3824, 3826, 3828, 3830, 3831, 3833, 3835, 3837, 3839, 3841, 3843, 3844, 3846,
      3848, 3850, 3852, 3854, 3856, 3858, 3859, 3861, 3863, 3865, 3867, 3869, 3871, 3873, 3874, 3876, 3878, 3880, 3882,
      3884, 3886, 3887, 3889, 3891, 3893, 3895, 3897, 3899, 3901, 3902, 3904, 3906, 3908, 3910, 3912, 3914, 3916, 3918,
      3919, 3921, 3923, 3925, 3927, 3929, 3931, 3933, 3934, 3936, 3938, 3940, 3942, 3944, 3946, 3948, 3949, 3951, 3953,
      3955, 3957, 3959, 3961, 3963, 3965, 3966, 3968, 3970, 3972, 3974, 3976, 3978, 3980, 3981, 3983, 3985, 3987, 3989,
      3991, 3993, 3995, 3997, 3998, 4000, 4002, 4004, 4006, 4008, 4010, 4012, 4014, 4015, 4017, 4019, 4021, 4023, 4025,
      4027, 4029, 4030, 4032, 4034, 4036, 4038, 4040, 4042, 4044, 4046, 4047, 4049, 4051, 4053, 4055, 4057, 4059, 4061,
      4062, 4064, 4066, 4068, 4070, 4072, 4074, 4076, 4078, 4079, 4081, 4083, 4085, 4087, 4089, 4091, 4093, 4095 }
};

static const ISP_CMOS_GAMMA_S g_stIspGammaFSWDR = {

    { 0,    32,   44,   56,   68,   79,   91,   103,  115,  127,  139,  151,  163,  175,  187,  199,  211,  223,  235,
      247,  259,  271,  283,  295,  307,  318,  330,  342,  354,  366,  377,  389,  401,  413,  424,  436,  448,  459,
      471,  482,  494,  506,  517,  528,  540,  551,  563,  574,  585,  596,  608,  619,  630,  641,  652,  663,  674,
      685,  696,  707,  718,  728,  739,  750,  760,  771,  781,  792,  802,  813,  823,  833,  843,  854,  864,  874,
      884,  894,  904,  914,  923,  933,  943,  953,  962,  972,  981,  991,  1000, 1010, 1019, 1028, 1037, 1046, 1056,
      1065, 1074, 1083, 1092, 1101, 1109, 1118, 1127, 1136, 1144, 1153, 1161, 1170, 1178, 1187, 1195, 1203, 1212, 1220,
      1228, 1236, 1244, 1253, 1261, 1269, 1277, 1284, 1292, 1300, 1308, 1316, 1323, 1331, 1339, 1346, 1354, 1361, 1369,
      1376, 1384, 1391, 1398, 1406, 1413, 1420, 1427, 1434, 1442, 1449, 1456, 1463, 1470, 1477, 1484, 1491, 1497, 1504,
      1511, 1518, 1525, 1531, 1538, 1545, 1551, 1558, 1565, 1571, 1578, 1584, 1591, 1597, 1604, 1610, 1616, 1623, 1629,
      1635, 1642, 1648, 1654, 1660, 1667, 1673, 1679, 1685, 1691, 1697, 1703, 1709, 1716, 1722, 1728, 1734, 1739, 1745,
      1751, 1757, 1763, 1769, 1775, 1781, 1786, 1792, 1798, 1804, 1810, 1815, 1821, 1827, 1832, 1838, 1844, 1849, 1855,
      1860, 1866, 1872, 1877, 1883, 1888, 1894, 1899, 1904, 1910, 1915, 1921, 1926, 1931, 1937, 1942, 1947, 1953, 1958,
      1963, 1969, 1974, 1979, 1984, 1989, 1995, 2000, 2005, 2010, 2015, 2020, 2025, 2030, 2035, 2040, 2045, 2050, 2055,
      2060, 2065, 2070, 2075, 2080, 2085, 2090, 2094, 2099, 2104, 2109, 2114, 2118, 2123, 2128, 2132, 2137, 2142, 2146,
      2151, 2156, 2160, 2165, 2170, 2174, 2179, 2183, 2188, 2192, 2197, 2201, 2206, 2210, 2214, 2219, 2223, 2228, 2232,
      2236, 2241, 2245, 2249, 2253, 2258, 2262, 2266, 2270, 2275, 2279, 2283, 2287, 2291, 2296, 2300, 2304, 2308, 2312,
      2316, 2320, 2324, 2328, 2332, 2336, 2340, 2344, 2348, 2352, 2356, 2360, 2364, 2368, 2372, 2376, 2380, 2384, 2388,
      2391, 2395, 2399, 2403, 2407, 2411, 2414, 2418, 2422, 2426, 2430, 2433, 2437, 2441, 2445, 2448, 2452, 2456, 2459,
      2463, 2467, 2470, 2474, 2478, 2481, 2485, 2489, 2492, 2496, 2500, 2503, 2507, 2510, 2514, 2517, 2521, 2525, 2528,
      2532, 2535, 2539, 2542, 2546, 2549, 2553, 2557, 2560, 2564, 2567, 2571, 2574, 2578, 2581, 2585, 2588, 2591, 2595,
      2598, 2602, 2605, 2609, 2612, 2616, 2619, 2623, 2626, 2629, 2633, 2636, 2640, 2643, 2646, 2650, 2653, 2657, 2660,
      2663, 2667, 2670, 2673, 2677, 2680, 2684, 2687, 2690, 2694, 2697, 2700, 2704, 2707, 2710, 2713, 2717, 2720, 2723,
      2727, 2730, 2733, 2736, 2740, 2743, 2746, 2749, 2753, 2756, 2759, 2762, 2765, 2769, 2772, 2775, 2778, 2781, 2784,
      2788, 2791, 2794, 2797, 2800, 2803, 2806, 2809, 2812, 2815, 2819, 2822, 2825, 2828, 2831, 2834, 2837, 2840, 2843,
      2846, 2849, 2852, 2855, 2858, 2861, 2864, 2867, 2870, 2873, 2876, 2878, 2881, 2884, 2887, 2890, 2893, 2896, 2899,
      2902, 2905, 2907, 2910, 2913, 2916, 2919, 2922, 2925, 2927, 2930, 2933, 2936, 2939, 2942, 2944, 2947, 2950, 2953,
      2956, 2959, 2961, 2964, 2967, 2970, 2973, 2975, 2978, 2981, 2984, 2987, 2989, 2992, 2995, 2998, 3001, 3003, 3006,
      3009, 3012, 3014, 3017, 3020, 3023, 3026, 3028, 3031, 3034, 3037, 3039, 3042, 3045, 3048, 3051, 3053, 3056, 3059,
      3062, 3064, 3067, 3070, 3073, 3075, 3078, 3081, 3084, 3086, 3089, 3092, 3095, 3098, 3100, 3103, 3106, 3109, 3111,
      3114, 3117, 3119, 3122, 3125, 3128, 3130, 3133, 3136, 3139, 3141, 3144, 3147, 3149, 3152, 3155, 3158, 3160, 3163,
      3166, 3168, 3171, 3174, 3176, 3179, 3182, 3184, 3187, 3190, 3192, 3195, 3198, 3200, 3203, 3206, 3208, 3211, 3213,
      3216, 3219, 3221, 3224, 3226, 3229, 3232, 3234, 3237, 3239, 3242, 3244, 3247, 3250, 3252, 3255, 3257, 3260, 3262,
      3265, 3267, 3270, 3272, 3275, 3277, 3280, 3282, 3285, 3287, 3290, 3292, 3295, 3297, 3300, 3302, 3305, 3307, 3310,
      3312, 3314, 3317, 3319, 3322, 3324, 3326, 3329, 3331, 3334, 3336, 3338, 3341, 3343, 3345, 3348, 3350, 3353, 3355,
      3357, 3360, 3362, 3364, 3366, 3369, 3371, 3373, 3376, 3378, 3380, 3383, 3385, 3387, 3389, 3392, 3394, 3396, 3398,
      3401, 3403, 3405, 3407, 3409, 3412, 3414, 3416, 3418, 3420, 3423, 3425, 3427, 3429, 3431, 3434, 3436, 3438, 3440,
      3442, 3444, 3446, 3449, 3451, 3453, 3455, 3457, 3459, 3461, 3463, 3466, 3468, 3470, 3472, 3474, 3476, 3478, 3480,
      3482, 3484, 3486, 3489, 3491, 3493, 3495, 3497, 3499, 3501, 3503, 3505, 3507, 3509, 3511, 3513, 3515, 3517, 3519,
      3521, 3523, 3525, 3527, 3529, 3531, 3533, 3535, 3537, 3539, 3542, 3544, 3546, 3548, 3550, 3552, 3554, 3556, 3558,
      3560, 3562, 3563, 3565, 3567, 3569, 3571, 3573, 3575, 3577, 3579, 3581, 3583, 3585, 3587, 3589, 3591, 3593, 3595,
      3597, 3599, 3601, 3603, 3605, 3607, 3609, 3611, 3613, 3615, 3617, 3619, 3621, 3622, 3624, 3626, 3628, 3630, 3632,
      3634, 3636, 3638, 3640, 3642, 3644, 3646, 3648, 3649, 3651, 3653, 3655, 3657, 3659, 3661, 3663, 3665, 3667, 3669,
      3671, 3672, 3674, 3676, 3678, 3680, 3682, 3684, 3686, 3688, 3690, 3691, 3693, 3695, 3697, 3699, 3701, 3703, 3705,
      3707, 3708, 3710, 3712, 3714, 3716, 3718, 3720, 3722, 3723, 3725, 3727, 3729, 3731, 3733, 3735, 3737, 3738, 3740,
      3742, 3744, 3746, 3748, 3750, 3751, 3753, 3755, 3757, 3759, 3761, 3763, 3764, 3766, 3768, 3770, 3772, 3774, 3776,
      3777, 3779, 3781, 3783, 3785, 3787, 3789, 3790, 3792, 3794, 3796, 3798, 3800, 3802, 3804, 3805, 3807, 3809, 3811,
      3813, 3815, 3817, 3818, 3820, 3822, 3824, 3826, 3828, 3830, 3831, 3833, 3835, 3837, 3839, 3841, 3843, 3844, 3846,
      3848, 3850, 3852, 3854, 3856, 3858, 3859, 3861, 3863, 3865, 3867, 3869, 3871, 3873, 3874, 3876, 3878, 3880, 3882,
      3884, 3886, 3887, 3889, 3891, 3893, 3895, 3897, 3899, 3901, 3902, 3904, 3906, 3908, 3910, 3912, 3914, 3916, 3918,
      3919, 3921, 3923, 3925, 3927, 3929, 3931, 3933, 3934, 3936, 3938, 3940, 3942, 3944, 3946, 3948, 3949, 3951, 3953,
      3955, 3957, 3959, 3961, 3963, 3965, 3966, 3968, 3970, 3972, 3974, 3976, 3978, 3980, 3981, 3983, 3985, 3987, 3989,
      3991, 3993, 3995, 3997, 3998, 4000, 4002, 4004, 4006, 4008, 4010, 4012, 4014, 4015, 4017, 4019, 4021, 4023, 4025,
      4027, 4029, 4030, 4032, 4034, 4036, 4038, 4040, 4042, 4044, 4046, 4047, 4049, 4051, 4053, 4055, 4057, 4059, 4061,
      4062, 4064, 4066, 4068, 4070, 4072, 4074, 4076, 4078, 4079, 4081, 4083, 4085, 4087, 4089, 4091, 4093, 4095 }

};
#ifdef CONFIG_HI_ISP_PREGAMMA_SUPPORT
static const ISP_CMOS_PREGAMMA_S g_stPreGamma = {
    0,
    { 0,       12417,   21619,   29902,   37641,   44997,   52063,   58896,   65536,   72012,   78344,   84552,
      90647,   96641,   102544,  108363,  114105,  119775,  125379,  130921,  136406,  141835,  147213,  152542,
      157825,  163065,  168262,  173420,  178540,  183623,  188671,  193686,  198668,  203619,  208541,  213433,
      218298,  223136,  227947,  232734,  237496,  242234,  246949,  251642,  256313,  260962,  265592,  270201,
      274790,  279360,  283912,  288446,  292962,  297460,  301942,  306407,  310855,  315288,  319706,  324108,
      328495,  332868,  337226,  341571,  345901,  350218,  354522,  358813,  363091,  367356,  371609,  375850,
      380079,  384296,  388502,  392696,  396880,  401052,  405213,  409364,  413504,  417634,  421754,  425863,
      429963,  434053,  438134,  442205,  446266,  450319,  454362,  458396,  462422,  466438,  470446,  474446,
      478437,  482420,  486395,  490361,  494320,  498270,  502213,  506148,  510076,  513996,  517908,  521813,
      525711,  529601,  533485,  537361,  541231,  545093,  548949,  552798,  556640,  560475,  564305,  568127,
      571943,  575753,  579557,  583354,  587145,  590930,  594709,  598482,  602249,  606010,  609765,  613515,
      617259,  620997,  624729,  628456,  632178,  635894,  639604,  643309,  647009,  650704,  654393,  658077,
      661756,  665430,  669099,  672763,  676421,  680075,  683724,  687368,  691008,  694642,  698272,  701897,
      705517,  709133,  712744,  716351,  719953,  723550,  727143,  730732,  734316,  737896,  741471,  745043,
      748610,  752172,  755731,  759285,  762835,  766381,  769923,  773461,  776995,  780525,  784050,  787572,
      791090,  794604,  798114,  801620,  805123,  808622,  812116,  815608,  819095,  822579,  826059,  829535,
      833008,  836477,  839942,  843404,  846862,  850317,  853768,  857216,  860661,  864102,  867539,  870973,
      874404,  877831,  881255,  884676,  888093,  891507,  894918,  898326,  901730,  905131,  908529,  911924,
      915316,  918704,  922090,  925472,  928851,  932227,  935600,  938970,  942337,  945701,  949062,  952420,
      955775,  959127,  962477,  965823,  969166,  972507,  975845,  979179,  982511,  985840,  989167,  992490,
      995811,  999129,  1002444, 1005757, 1009067, 1012374, 1015678, 1018980, 1022279, 1025575, 1028869, 1032160,
      1035448, 1038734, 1042017, 1045298, 1048575 }
};
#endif

#ifdef CONFIG_HI_ISP_EDGEMARK_SUPPORT
static const ISP_CMOS_EDGEMARK_S g_stIspEdgeMark = {
    0,         // HI_BOOL bEnable;                          /* RW; Range:[0, 1]; Format:1.0;Enable/Disable Edge Mark */
    100,       // HI_U8     u8Threshold;                /* RW; range: [0, 255];  Format:8.0; */
    0xFF0000,  // HI_U32    u32Color;               /* RW; range: [0, 0xFFFFFF];  Format:32.0; */
};
#endif

#ifdef CONFIG_HI_ISP_HLC_SUPPORT
static const ISP_CMOS_HLC_S g_stIspHlc = {
    0,    // HI_BOOL bEnable;          /* RW; Range:[0, 1]; Format:1.0;Enable/Disable HLC */
    248,  // HI_U8 u8LumaThr;         /* RW; range: [0, 255];  Format:8.0; */
    10,   // HI_U8 u8LumaTarget;      /* RW; range: [0, 255];  Format:8.0; */
};
#endif

static const ISP_CMOS_SHARPEN_S g_stIspYuvSharpen = {
    /* u8SkinUmin */
    100,
    /* u8SkinVmin */
    135,
    /* u8SkinUmax */
    128,
    /* u8SkinVmax */
    150,
    /* Manual Para */
    {
        /* au8LumaWgt[ISP_SHARPEN_LUMA_NUM] */
        { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
          127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
        /* u16TextureStr[ISP_SHARPEN_GAIN_NUM] */
        { 250, 420, 390, 390, 390, 390, 390, 370, 350, 330, 310, 290, 270, 270, 270, 270,
          270, 270, 266, 260, 244, 230, 230, 230, 230, 230, 230, 210, 190, 190, 170, 150 },
        /* u16EdgeStr[ISP_SHARPEN_GAIN_NUM] */
        { 120, 123, 125, 128, 130, 135, 140, 148, 160, 168, 180, 190, 200, 210, 210, 210,
          210, 210, 200, 190, 185, 175, 165, 160, 146, 136, 130, 128, 125, 123, 120, 120 },
        /* u16TextureFreq */
        190,
        /* u16EdgeFreq */
        128,
        /* u8OverShoot */
        65,
        /* u8UnderShoot */
        75,
        /* u8shootSupStr */
        7,
        /* u8shootSupAdj */
        9,
        /* u8DetailCtrl */
        128,
        /* u8DetailCtrlThr */
        180,
        /* u8EdgeFiltStr */
        60,
        /* u8EdgeFiltMaxCap; */
        18,
        /* u8RGain */
        20,
        /* u8GGain */
        32,
        /* u8BGain */
        20,
        /* u8SkinGain */
        25,
        /* u8MaxSharpGain */
        40 },
    /* Auto Para */
    {
        /* au16LumaWgt[ISP_SHARPEN_GAIN_NUM][ISP_AUTO_ISO_STRENGTH_NUM] */
        /* ISO: 100,  200,  400,  800,  1600,  3200,  6400, 12800, 25600, 51200, 102400, 204800, 409600, 819200,
           1638400, 3276800 */
        {{ 127, 127, 127, 106, 87, 73, 73, 49, 49, 49, 49, 49, 49, 49, 49, 49 },
         { 127, 127, 127, 110, 94, 80, 80, 55, 55, 55, 55, 55, 55, 55, 55, 55 },
         { 127, 127, 127, 115, 102, 88, 88, 62, 62, 62, 62, 62, 62, 62, 62, 62 },
         { 127, 127, 127, 119, 109, 95, 95, 70, 70, 70, 70, 70, 70, 70, 70, 70 },
         { 127, 127, 127, 123, 115, 102, 102, 77, 77, 77, 77, 77, 77, 77, 77, 77 },
         { 127, 127, 127, 125, 119, 107, 107, 84, 84, 84, 84, 84, 84, 84, 84, 84 },
         { 127, 127, 127, 126, 122, 111, 111, 90, 90, 90, 90, 90, 90, 90, 90, 90 },
         { 127, 127, 127, 126, 125, 115, 115, 96, 96, 96, 96, 96, 96, 96, 96, 96 },
         { 127, 127, 127, 127, 127, 119, 119, 102, 102, 102, 102, 102, 102, 102, 102, 102 },
         { 127, 127, 127, 127, 127, 121, 121, 106, 106, 106, 106, 106, 106, 106, 106, 106 },
         { 127, 127, 127, 127, 127, 124, 124, 110, 110, 110, 110, 110, 110, 110, 110, 110 },
         { 127, 127, 127, 127, 127, 125, 125, 114, 114, 114, 114, 114, 114, 114, 114, 114 },
         { 127, 127, 127, 127, 127, 127, 127, 117, 117, 117, 117, 117, 117, 117, 117, 117 },
         { 127, 127, 127, 127, 127, 127, 127, 120, 120, 120, 120, 120, 120, 120, 120, 120 },
         { 127, 127, 127, 127, 127, 127, 127, 123, 123, 123, 123, 123, 123, 123, 123, 123 },
         { 127, 127, 127, 127, 127, 127, 127, 125, 125, 125, 125, 125, 125, 125, 125, 125 },
         { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 }

        },
        /* au16TextureStr[ISP_SHARPEN_GAIN_NUM][ISP_AUTO_ISO_STRENGTH_NUM] */
        /* ISO: 100, 200, 400, 800, 1600, 3200, 6400, 12800, 25600, 51200, 102400, 204800, 409600, 819200, 1638400,
           3276800 */
        {{ 224, 224, 224, 224, 116, 137, 125, 125, 116, 91, 91, 91, 91, 91, 91, 91 },
         { 233, 233, 233, 233, 141, 156, 144, 144, 130, 113, 113, 113, 113, 113, 113, 113 },
         { 243, 243, 243, 243, 168, 177, 164, 164, 145, 135, 135, 135, 135, 135, 135, 135 },
         { 253, 253, 253, 253, 195, 196, 183, 183, 160, 157, 157, 157, 157, 157, 157, 157 },
         { 264, 264, 264, 264, 222, 214, 201, 201, 174, 178, 178, 178, 178, 178, 178, 178 },
         { 273, 273, 273, 273, 248, 229, 215, 215, 186, 196, 196, 196, 196, 196, 196, 196 },
         { 283, 283, 283, 283, 272, 243, 229, 229, 199, 213, 213, 213, 213, 213, 213, 213 },
         { 291, 291, 291, 291, 293, 255, 241, 241, 210, 228, 228, 228, 228, 228, 228, 228 },
         { 298, 298, 298, 298, 311, 267, 252, 252, 220, 243, 243, 243, 243, 243, 243, 243 },
         { 303, 303, 303, 303, 325, 277, 262, 262, 228, 255, 255, 255, 255, 255, 255, 255 },
         { 308, 308, 308, 308, 337, 287, 271, 271, 234, 267, 267, 267, 267, 267, 267, 267 },
         { 312, 312, 312, 312, 347, 295, 279, 279, 240, 276, 276, 276, 276, 276, 276, 276 },
         { 315, 315, 315, 315, 354, 302, 286, 286, 245, 284, 284, 284, 284, 284, 284, 284 },
         { 318, 318, 318, 318, 359, 305, 291, 291, 249, 288, 288, 288, 288, 288, 288, 288 },
         { 320, 320, 320, 320, 363, 307, 296, 296, 252, 291, 291, 291, 291, 291, 291, 291 },
         { 321, 321, 321, 321, 365, 308, 299, 299, 254, 292, 292, 292, 292, 292, 292, 292 },
         { 322, 322, 322, 322, 366, 309, 302, 302, 256, 292, 292, 292, 292, 292, 292, 292 },
         { 321, 321, 321, 321, 365, 309, 302, 302, 256, 290, 290, 290, 290, 290, 290, 290 },
         { 320, 320, 320, 320, 361, 309, 300, 300, 256, 287, 287, 287, 287, 287, 287, 287 },
         { 318, 318, 318, 318, 354, 307, 296, 296, 254, 281, 281, 281, 281, 281, 281, 281 },
         { 315, 315, 315, 315, 346, 302, 291, 291, 250, 274, 274, 274, 274, 274, 274, 274 },
         { 312, 312, 312, 312, 336, 297, 285, 285, 246, 266, 266, 266, 266, 266, 266, 266 },
         { 307, 307, 307, 307, 325, 290, 278, 278, 240, 257, 257, 257, 257, 257, 257, 257 },
         { 303, 303, 303, 303, 313, 283, 271, 271, 235, 248, 248, 248, 248, 248, 248, 248 },
         { 298, 298, 298, 298, 301, 274, 263, 263, 228, 237, 237, 237, 237, 237, 237, 237 },
         { 292, 292, 292, 292, 288, 265, 255, 255, 221, 226, 226, 226, 226, 226, 226, 226 },
         { 285, 285, 285, 285, 273, 254, 246, 246, 213, 214, 214, 214, 214, 214, 214, 214 },
         { 278, 278, 278, 278, 257, 243, 237, 237, 205, 201, 201, 201, 201, 201, 201, 201 },
         { 271, 271, 271, 271, 241, 229, 225, 225, 195, 186, 186, 186, 186, 186, 186, 186 },
         { 264, 264, 264, 264, 225, 214, 213, 213, 185, 170, 170, 170, 170, 170, 170, 170 },
         { 256, 256, 256, 256, 208, 199, 199, 199, 175, 154, 154, 154, 154, 154, 154, 154 },
         { 250, 250, 250, 250, 193, 184, 187, 187, 165, 138, 138, 138, 138, 138, 138, 138 }},
        /* au16EdgeStr     */
        /* ISO */
        /* 100, 200, 400, 800, 1600, 3200, 6400, 12800, 25600, 51200, 102400, 204800, 409600, 819200, 1638400, 3276800
         */
        {{ 226, 226, 258, 364, 425, 400, 349, 349, 330, 499, 499, 499, 499, 499, 499, 499 },
         { 232, 232, 269, 366, 425, 400, 349, 349, 330, 499, 499, 499, 499, 499, 499, 499 },
         { 239, 239, 280, 369, 425, 400, 349, 349, 330, 499, 499, 499, 499, 499, 499, 499 },
         { 245, 245, 291, 371, 425, 400, 349, 349, 330, 499, 499, 499, 499, 499, 499, 499 },
         { 252, 252, 303, 374, 425, 400, 350, 350, 331, 499, 499, 499, 499, 499, 499, 499 },
         { 258, 258, 313, 376, 425, 400, 350, 350, 331, 499, 499, 499, 499, 499, 499, 499 },
         { 265, 265, 324, 379, 425, 400, 350, 350, 331, 499, 499, 499, 499, 499, 499, 499 },
         { 271, 271, 333, 381, 425, 400, 350, 350, 331, 499, 499, 499, 499, 499, 499, 499 },
         { 277, 277, 341, 383, 425, 400, 351, 351, 332, 499, 499, 499, 499, 499, 499, 499 },
         { 282, 282, 348, 384, 424, 400, 351, 351, 332, 499, 499, 499, 499, 499, 499, 499 },
         { 288, 288, 355, 386, 425, 400, 351, 351, 332, 499, 499, 499, 499, 499, 499, 499 },
         { 294, 294, 361, 388, 425, 400, 351, 351, 332, 499, 499, 499, 499, 499, 499, 499 },
         { 300, 300, 366, 390, 425, 401, 351, 351, 332, 499, 499, 499, 499, 499, 499, 499 },
         { 305, 305, 370, 391, 424, 401, 351, 351, 332, 499, 499, 499, 499, 499, 499, 499 },
         { 309, 309, 373, 391, 423, 400, 351, 351, 332, 499, 499, 499, 499, 499, 499, 499 },
         { 313, 313, 375, 391, 422, 399, 351, 351, 332, 499, 499, 499, 499, 499, 499, 499 },
         { 315, 315, 375, 389, 419, 398, 351, 351, 332, 499, 499, 499, 499, 499, 499, 499 },
         { 316, 316, 374, 385, 414, 395, 350, 350, 332, 499, 499, 499, 499, 499, 499, 499 },
         { 317, 317, 373, 381, 409, 393, 351, 351, 331, 499, 499, 499, 499, 499, 499, 499 },
         { 316, 316, 370, 376, 403, 391, 351, 351, 330, 499, 499, 499, 499, 499, 499, 499 },
         { 315, 315, 365, 369, 396, 387, 350, 350, 329, 499, 499, 499, 499, 499, 499, 499 },
         { 311, 311, 358, 361, 387, 382, 349, 349, 327, 499, 499, 499, 499, 499, 499, 499 },
         { 305, 305, 347, 351, 377, 375, 345, 345, 324, 499, 499, 499, 499, 499, 499, 499 },
         { 296, 296, 334, 339, 366, 366, 339, 339, 319, 499, 499, 499, 499, 499, 499, 499 },
         { 284, 284, 319, 326, 353, 354, 330, 330, 312, 499, 499, 499, 499, 499, 499, 499 },
         { 270, 270, 300, 311, 339, 340, 320, 320, 303, 499, 499, 499, 499, 499, 499, 499 },
         { 253, 253, 279, 294, 323, 325, 307, 307, 293, 499, 499, 499, 499, 499, 499, 499 },
         { 235, 235, 256, 276, 307, 308, 294, 294, 283, 499, 499, 499, 499, 499, 499, 499 },
         { 216, 216, 232, 257, 289, 290, 280, 280, 271, 499, 499, 499, 499, 499, 499, 499 },
         { 197, 197, 207, 239, 272, 272, 266, 266, 260, 499, 499, 499, 499, 499, 499, 499 },
         { 178, 178, 184, 220, 255, 255, 252, 252, 249, 499, 499, 499, 499, 499, 499, 499 },
         { 161, 161, 161, 203, 239, 239, 239, 239, 239, 499, 499, 499, 499, 499, 499, 499 }},
        /* au16TextureFreq[ISP_AUTO_ISO_STRENGTH_NUM] */
        /* ISO */
        /* 100, 200, 400, 800, 1600, 3200, 6400, 12800, 25600, 51200,  102400,  204800,   409600,   819200,   1638400,
           3276800 */
        { 180, 170, 165, 160, 150, 140, 128, 128, 128, 128, 128, 100, 100, 100, 100, 100 },
        /* au16EdgeFreq[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 128, 120, 115, 110, 105, 105, 100, 100, 100, 100, 96, 96, 96, 96, 96, 96 },
        /* au8OverShoot[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 55, 60, 65, 85, 85, 70, 65, 55, 50, 50, 30, 10, 10, 10, 10, 10 },
        /* au8UnderShoot[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 65, 70, 75, 85, 85, 75, 68, 60, 55, 55, 55, 55, 55, 15, 15, 15 },
        /* au8ShootSupStr[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 8, 8, 7, 7, 7, 6, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0 },
        /* au8ShootSupAdj[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 4, 4, 7, 7, 7, 6, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0 },
        /* au8DetailCtrl[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 128, 128, 128, 120, 120, 110, 110, 100, 90, 80, 70, 70, 70, 70, 70, 70 },
        /* au8DetailCtrlThr[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180 },
        /* au8EdgeFiltStr[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60 },
        /* au8EdgeFiltMaxCap; */
        { 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18 },
        /* au8RGain[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 },
        /* au8GGain[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32 },
        /* au8BGain[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 },
        /* au8SkinGain[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25 },
        /* u8MaxSharpGain[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40 }},
};

static const ISP_CMOS_SHARPEN_S g_stIspYuvSharpenWdr = {
    /* u8SkinUmin */
    100,
    /* u8SkinVmin */
    135,
    /* u8SkinUmax */
    128,
    /* u8SkinVmax */
    150,
    /* Manual Para */
    {
        /* au8LumaWgt[ISP_SHARPEN_LUMA_NUM] */
        { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
          127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
        /* u16TextureStr[ISP_SHARPEN_GAIN_NUM] */
        { 250, 420, 390, 390, 390, 390, 390, 370, 350, 330, 310, 290, 270, 270, 270, 270,
          270, 270, 266, 260, 244, 230, 230, 230, 230, 230, 230, 210, 190, 190, 170, 150 },
        /* u16EdgeStr[ISP_SHARPEN_GAIN_NUM] */
        { 120, 123, 125, 128, 130, 135, 140, 148, 160, 168, 180, 190, 200, 210, 210, 210,
          210, 210, 200, 190, 185, 175, 165, 160, 146, 136, 130, 128, 125, 123, 120, 120 },
        /* u16TextureFreq */
        190,
        /* u16EdgeFreq */
        128,
        /* u8OverShoot */
        65,
        /* u8UnderShoot */
        75,
        /* u8shootSupStr */
        7,
        /* u8shootSupAdj */
        9,
        /* u8DetailCtrl */
        128,
        /* u8DetailCtrlThr */
        180,
        /* u8EdgeFiltStr */
        60,
        /* u8EdgeFiltMaxCap; */
        18,
        /* u8RGain */
        20,
        /* u8GGain */
        32,
        /* u8BGain */
        20,
        /* u8SkinGain */
        25,
        /* u8MaxSharpGain */
        40 },
    /* Auto Para */
    {
        /* au16LumaWgt[ISP_SHARPEN_GAIN_NUM][ISP_AUTO_ISO_STRENGTH_NUM] */
        /* ISO: 100,  200,  400,  800,  1600,  3200,  6400, 12800, 25600, 51200, 102400, 204800, 409600, 819200,
           1638400, 3276800 */
        {{ 127, 127, 127, 80, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60 },
         { 127, 127, 127, 80, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60 },
         { 127, 127, 127, 80, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60 },
         { 127, 127, 127, 80, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60 },
         { 127, 127, 127, 80, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60 },
         { 127, 127, 127, 80, 70, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60 },
         { 127, 127, 127, 80, 80, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72 },
         { 127, 127, 127, 90, 90, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85 },
         { 127, 127, 127, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100 },
         { 127, 127, 127, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114 },
         { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 110, 110, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 110, 110, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 110, 110, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 110, 110, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 110, 110, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 100, 100, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 100, 100, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 100, 100, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 100, 100, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 100, 100, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 100, 100, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
         { 127, 127, 127, 100, 100, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 }},
        /* au16TextureStr[ISP_SHARPEN_GAIN_NUM][ISP_AUTO_ISO_STRENGTH_NUM] */
        /* ISO: 100, 200, 400, 800, 1600, 3200, 6400, 12800, 25600, 51200, 102400, 204800, 409600, 819200, 1638400,
           3276800 */
        {{ 180, 180, 170, 160, 155, 90, 90, 60, 60, 60, 60, 60, 60, 60, 60, 60 },
         { 205, 205, 185, 166, 165, 100, 100, 80, 80, 80, 80, 80, 80, 80, 80, 80 },
         { 235, 235, 200, 175, 170, 120, 120, 100, 100, 100, 100, 100, 100, 100, 100, 100 },
         { 260, 260, 215, 190, 180, 145, 145, 130, 130, 130, 130, 130, 130, 130, 130, 130 },
         { 285, 285, 235, 210, 190, 150, 200, 150, 150, 150, 150, 150, 150, 150, 150, 150 },
         { 295, 295, 255, 220, 205, 160, 220, 180, 180, 180, 180, 180, 180, 180, 180, 180 },
         { 310, 310, 280, 245, 215, 165, 240, 200, 200, 200, 200, 200, 200, 200, 200, 200 },
         { 315, 315, 295, 260, 225, 175, 240, 210, 210, 210, 210, 210, 210, 210, 210, 210 },
         { 320, 320, 310, 270, 230, 180, 240, 220, 220, 220, 220, 220, 220, 220, 220, 220 },
         { 330, 330, 320, 280, 245, 190, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230 },
         { 330, 330, 330, 290, 250, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230 },
         { 330, 330, 330, 295, 255, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230 },
         { 330, 330, 330, 300, 255, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230 },
         { 330, 330, 330, 300, 260, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230 },
         { 325, 325, 325, 305, 260, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230 },
         { 320, 320, 320, 305, 260, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230 },
         { 315, 315, 315, 305, 260, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230 },
         { 310, 310, 310, 300, 260, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230 },
         { 305, 305, 305, 290, 255, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230 },
         { 295, 295, 295, 284, 250, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230 },
         { 288, 288, 288, 270, 240, 230, 230, 210, 210, 210, 210, 210, 210, 210, 210, 210 },
         { 280, 280, 280, 265, 235, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200 },
         { 275, 275, 275, 255, 230, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200 },
         { 270, 270, 270, 245, 220, 220, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200 },
         { 265, 265, 265, 240, 210, 210, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200 },
         { 260, 260, 260, 230, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200 },
         { 250, 250, 250, 220, 192, 192, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200 },
         { 240, 240, 240, 205, 180, 180, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200 },
         { 230, 230, 230, 190, 170, 170, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200 },
         { 215, 215, 215, 170, 155, 155, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200 },
         { 180, 180, 180, 150, 145, 145, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200 },
         { 130, 130, 130, 130, 130, 130, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200 }},
        /* au16EdgeStr     */
        /* ISO */
        /* 100, 200, 400, 800, 1600, 3200, 6400, 12800, 25600, 51200, 102400, 204800, 409600, 819200, 1638400, 3276800
         */
        {{ 195, 195, 195, 195, 195, 195, 400, 440, 500, 475, 475, 475, 475, 475, 475, 475 },
         { 200, 200, 200, 200, 200, 200, 400, 440, 500, 485, 485, 485, 485, 485, 485, 485 },
         { 220, 220, 220, 220, 220, 220, 400, 440, 500, 495, 495, 495, 495, 495, 495, 495 },
         { 230, 230, 230, 230, 230, 230, 400, 440, 500, 500, 500, 500, 500, 500, 500, 500 },
         { 240, 240, 240, 240, 240, 240, 400, 440, 500, 510, 510, 510, 510, 510, 510, 510 },
         { 250, 250, 250, 250, 250, 250, 400, 440, 500, 520, 520, 520, 520, 520, 520, 520 },
         { 260, 260, 260, 260, 260, 260, 420, 460, 540, 530, 530, 530, 530, 530, 530, 530 },
         { 270, 270, 270, 270, 270, 270, 420, 460, 540, 540, 540, 540, 540, 540, 540, 540 },
         { 280, 280, 280, 280, 280, 280, 420, 460, 540, 545, 545, 545, 545, 545, 545, 545 },
         { 280, 280, 280, 280, 280, 280, 420, 460, 540, 550, 550, 550, 550, 550, 550, 550 },
         { 285, 285, 285, 285, 285, 285, 420, 460, 540, 560, 560, 560, 560, 560, 560, 560 },
         { 290, 290, 290, 290, 290, 290, 420, 460, 540, 565, 565, 565, 565, 565, 565, 565 },
         { 290, 290, 290, 290, 290, 290, 420, 460, 540, 570, 570, 570, 570, 570, 570, 570 },
         { 295, 295, 295, 295, 295, 295, 430, 470, 550, 575, 575, 575, 575, 575, 575, 575 },
         { 295, 295, 295, 295, 295, 295, 430, 470, 550, 580, 580, 580, 580, 580, 580, 580 },
         { 295, 295, 295, 295, 295, 295, 440, 470, 550, 575, 575, 575, 575, 575, 575, 575 },
         { 295, 295, 295, 295, 295, 295, 440, 470, 550, 570, 570, 570, 570, 570, 570, 570 },
         { 295, 295, 295, 295, 295, 295, 450, 480, 580, 565, 565, 565, 565, 565, 565, 565 },
         { 295, 295, 295, 295, 295, 295, 460, 500, 580, 560, 560, 560, 560, 560, 560, 560 },
         { 290, 290, 290, 290, 290, 290, 460, 500, 580, 555, 555, 555, 555, 555, 555, 555 },
         { 285, 285, 285, 285, 285, 285, 460, 500, 580, 550, 550, 550, 550, 550, 550, 550 },
         { 280, 280, 280, 280, 280, 280, 460, 500, 580, 540, 540, 540, 540, 540, 540, 540 },
         { 275, 275, 275, 275, 275, 275, 460, 500, 580, 535, 535, 535, 535, 535, 535, 535 },
         { 265, 265, 265, 265, 265, 265, 460, 500, 580, 530, 530, 530, 530, 530, 530, 530 },
         { 250, 250, 250, 250, 250, 250, 460, 500, 580, 520, 520, 520, 520, 520, 520, 520 },
         { 240, 240, 240, 240, 240, 240, 470, 500, 580, 515, 515, 515, 515, 515, 515, 515 },
         { 220, 220, 220, 220, 220, 220, 470, 500, 580, 510, 510, 510, 510, 510, 510, 510 },
         { 200, 200, 200, 200, 200, 200, 470, 500, 580, 500, 500, 500, 500, 500, 500, 500 },
         { 180, 180, 180, 180, 180, 180, 480, 500, 580, 495, 495, 495, 495, 495, 495, 495 },
         { 160, 160, 160, 160, 160, 160, 480, 500, 580, 485, 485, 485, 485, 485, 485, 485 },
         { 140, 140, 140, 140, 140, 140, 480, 500, 580, 480, 480, 480, 480, 480, 480, 480 },
         { 125, 125, 125, 125, 125, 125, 480, 500, 580, 470, 470, 470, 470, 470, 470, 470 }},
        /* au16TextureFreq[ISP_AUTO_ISO_STRENGTH_NUM] */
        /* ISO */
        /* 100, 200, 400, 800, 1600, 3200, 6400, 12800, 25600, 51200,  102400,  204800,   409600,   819200,   1638400,
           3276800 */
        { 160, 180, 180, 180, 160, 160, 128, 128, 128, 128, 128, 100, 100, 100, 100, 100 },
        /* au16EdgeFreq[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 128, 100, 100, 100, 100, 100, 100, 100, 100, 100, 96, 96, 96, 96, 96, 96 },
        /* au8OverShoot[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 55, 60, 70, 76, 80, 80, 70, 60, 50, 50, 30, 10, 10, 10, 10, 10 },
        /* au8UnderShoot[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 55, 65, 80, 80, 80, 80, 80, 70, 50, 30, 20, 20, 15, 15, 15, 15 },
        /* au8ShootSupStr[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 8, 8, 7, 7, 7, 6, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0 },
        /* au8ShootSupAdj[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 9, 9, 8, 8, 7, 7, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0 },
        /* au8DetailCtrl[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 120, 120, 120, 120, 120, 120 },
        /* au8DetailCtrlThr[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 180, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160 },
        /* au8EdgeFiltStr[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 60, 58, 60, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62 },
        /* au8EdgeFiltMaxCap; */
        { 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18 },
        /* au8RGain[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 12, 12, 18, 24, 24, 24, 26, 28, 31, 31, 31, 31, 31, 31, 31, 31 },
        /* au8GGain[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32 },
        /* au8BGain[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 18, 20, 24, 24, 24, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22 },
        /* au8SkinGain[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 30, 27, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
        /* u8MaxSharpGain[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 60, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40 }},
};

static AWB_CCM_S g_stAwbCcm = {
    3,
    {
        {
            4884,
            {
                0x01DA,
                0x80C7,
                0x8013,
                0x8068,
                0x01D9,
                0x8071,
                0x8001,
                0x80EA,
                0x01EB,
            },
        },
        {
            3636,
            {
                0x01FD,
                0x80F2,
                0x800B,
                0x808F,
                0x01F2,
                0x8063,
                0x0008,
                0x80F1,
                0x01E9,
            },
        },
        {
            2430,
            {
                0x01FD,
                0x80F2,
                0x800B,
                0x808F,
                0x01F2,
                0x8063,
                0x0008,
                0x80F1,
                0x01E9,
            },
        },
        {
            2100,
            { 0x0100, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0100 },
        },
        {
            1600,
            { 0x0100, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0100 },
        },
        {
            1400,
            { 0x0100, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0100 },
        },
        {
            1000,
            { 0x0100, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0100 },
        },
    },
};

static AWB_CCM_S g_stAwbCcmFsWdr = {
    3,
    {
        {
            4884,
            {
                0x01DA,
                0x80C7,
                0x8013,
                0x8068,
                0x01D9,
                0x8071,
                0x8001,
                0x80EA,
                0x01EB,
            },
        },
        {
            3636,
            {
                0x01FD,
                0x80F2,
                0x800B,
                0x808F,
                0x01F2,
                0x8063,
                0x0008,
                0x80F1,
                0x01E9,
            },
        },
        {
            2430,
            {
                0x01FD,
                0x80F2,
                0x800B,
                0x808F,
                0x01F2,
                0x8063,
                0x0008,
                0x80F1,
                0x01E9,
            },
        },
        {
            2100,
            { 0x0112, 0x8011, 0x8001, 0x806C, 0x0186, 0x801A, 0x8001, 0x8042, 0x0143 },
        },
        {
            1600,
            { 0x0100, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0100 },
        },
        {
            1400,
            { 0x0100, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0100 },
        },
        {
            1000,
            { 0x0100, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0100 },
        },
    },
};

static AWB_AGC_TABLE_S g_stAwbAgcTable = {
    /* bvalid */
    1,

    /* 1,  2,  4,  8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768 */
    /* saturation */
    { 128, 128, 112, 106, 94, 88, 80, 72, 64, 56, 56, 56, 56, 56, 56, 56 }
};

static AWB_AGC_TABLE_S g_stAwbAgcTableFSWDR = {
    /* bvalid */
    1,
    /* saturation */
    { 90, 90, 88, 85, 82, 78, 75, 72, 68, 65, 60, 55, 50, 50, 50, 50 }
};

static const ISP_CMOS_WDR_S g_stIspWDR = {
    /* bFusionMode */
    0,

    /* bMotionComp */
    1,

    /* u16ShortThr */
    4032,

    /* u16LongThr */
    3008,

    /* bForceLong */
    1,

    /* u16ForceLongLowThr */
    500,

    /* u16ForceLongHigThr */
    700,

    /* bShortExpoChk */
    0,

    /* u8ShortCheckThd */
    0x8,

    /* bMDRefFlicker */
    1,

    /* au8MdThrLowGain[16] */
    { 45, 45, 45, 45, 45, 45, 64, 96, 128, 255, 255, 255, 255, 255, 255, 255 },

    /* au8MdThrHigGain[16] */
    { 45, 45, 45, 45, 45, 45, 64, 128, 128, 255, 255, 255, 255, 255, 255, 255 },

    /* enBnrMode */
    1,

    /* au16FusionThr[2] */
    { 3855, 3000 },

    /* u8MdtStillThd */
    0x14,

    /* u8MdtLongBlend */
    0x0
};

static const ISP_CMOS_DEHAZE_S g_stIspDehaze = {
    /* bEnable */
    0,
    /* bUserLutEnable */
    0,
    /* enOpType */
    0,
    /* u8AutoStrength */
    128,
    /* u8ManualStrength */
    128

};

static const ISP_CMOS_DEHAZE_S g_stIspDehazeWDR = {
    /* bEnable */
    1,
    /* bUserLutEnable */
    0,
    /* enOpType */
    0,
    /* u8AutoStrength */
    50,
    /* u8ManualStrength */
    50
};

static const ISP_CMOS_DRC_S g_stIspDRC = {
    /* bEnable */
    0,
    /* enOpType */
    1,
    /* u16ManualStrength */
    512,
    /* u16AutoStrength */
    512,
    /* u8SpatialFltCoef */
    2,
    /* u8RangeFltCoef */
    2,
    /* u8ContrastControl */
    8,
    /* s8DetailAdjustFactor */
    0,
    /* u8RangeAdaMax */
    8,
    /* u8FltScaleFine */
    6,
    /* u8FltScaleCoarse */
    6,
    /* u8GradRevMax */
    64,
    /* u8GradRevThr */
    50,
    /* u8BrightGainLmt */
    15,
    /* u8BrightGainLmtStep */
    10,
    /* u8DarkGainLmtY */
    0,
    /* u8DarkGainLmtC */
    0,
    /* u8PDStrength */
    35,
    /* u8LocalMixingBrightMax */
    64,
    /* u8LocalMixingBrightMin */
    32,
    /* u8LocalMixingBrightThr */
    96,
    /* s8LocalMixingBrightSlo */
    -3,
    /* u8LocalMixingDarkMax */
    64,
    /* u8LocalMixingDarkMin */
    32,
    /* u8LocalMixingDarkThr */
    200,
    /* s8LocalMixingDarkSlo */
    5,
    /* ColorCorrectionLut[33] */
    { 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
      1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024 },
    /* ToneMappingValue[200] */
    { 8,     8,     16,    24,    31,    39,    48,    56,    65,    75,    85,    95,    106,   118,   130,   143,
      156,   170,   185,   201,   218,   235,   254,   274,   294,   316,   339,   364,   390,   417,   446,   477,
      509,   543,   579,   617,   658,   701,   746,   794,   844,   898,   955,   1015,  1078,  1145,  1216,  1291,
      1370,  1454,  1543,  1637,  1736,  1841,  1952,  2069,  2194,  2325,  2465,  2612,  2767,  2932,  3106,  3290,
      3485,  3691,  3909,  4140,  4384,  4641,  4914,  5202,  5507,  5830,  6171,  6531,  6913,  7316,  7742,  8193,
      8669,  9173,  9705,  10268, 10863, 11492, 12145, 12808, 13483, 14171, 14872, 15587, 16319, 17069, 17840, 18635,
      19458, 19881, 20313, 20754, 21204, 21661, 22122, 22586, 23053, 23525, 24000, 24480, 24965, 25455, 25950, 26451,
      26959, 27473, 27995, 28524, 29062, 29609, 30165, 30732, 31309, 31899, 32501, 33116, 33746, 34391, 35043, 35706,
      36381, 37066, 37763, 38472, 39192, 39925, 40671, 41429, 42201, 42591, 42986, 43383, 43784, 44189, 44597, 45008,
      45424, 45842, 46265, 46691, 47121, 47555, 47993, 48434, 48880, 49329, 49783, 50241, 50703, 51169, 51639, 52113,
      52592, 53075, 53564, 54056, 54552, 55054, 55560, 56071, 56586, 56846, 57107, 57369, 57632, 57896, 58162, 58429,
      58697, 58967, 59238, 59510, 59783, 60057, 60333, 60611, 60889, 61169, 61451, 61733, 62017, 62303, 62589, 62877,
      63167, 63458, 63750, 64044, 64340, 64636, 64934, 65234 },
    /* u8Asymmetry */
    2,
    /* u8SecondPole */
    180,
    /* u8Stretch */
    54,
    /* u8Compress */
    180,
    /* u8CurveSel */
    0,
    /* au16Xpoint */
    { 0, 200, 400, 600, 1000 },
    /* au16Ypoint */
    { 0, 200, 400, 600, 1000 },
    /* au16Slope */
    { 1000, 1000, 1000, 1000, 1000 }
};

static const ISP_CMOS_DRC_S g_stIspDRCWDR = {
    /* bEnable */
    1,
    /* enOpType */
    1,
    /* u16ManualStrength */
    1023,
    /* u16AutoStrength */
    1023,
    /* u8SpatialFltCoef */
    0,
    /* u8RangeFltCoef */
    1,
    /* u8ContrastControl */
    8,
    /* s8DetailAdjustFactor */
    8,
    /* u8RangeAdaMax */
    4,
    /* u8FltScaleFine */
    3,
    /* u8FltScaleCoarse */
    3,
    /* u8GradRevMax */
    30,
    /* u8GradRevThr */
    35,
    /* u8BrightGainLmt */
    0,
    /* u8BrightGainLmtStep */
    0,
    /* u8DarkGainLmtY */
    0,
    /* u8DarkGainLmtC */
    0,
    /* u8PDStrength */
    35,
    /* u8LocalMixingBrightMax */
    0,
    /* u8LocalMixingBrightMin */
    0,
    /* u8LocalMixingBrightThr */
    96,
    /* s8LocalMixingBrightSlo */
    -3,
    /* u8LocalMixingDarkMax */
    0,
    /* u8LocalMixingDarkMin */
    0,
    /* u8LocalMixingDarkThr */
    200,
    /* s8LocalMixingDarkSlo */
    5,
    /* ColorCorrectionLut[33] */
    { 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 772, 768, 764,
      760,  756,  752,  748,  744,  740,  736,  732,  728,  724,  720,  716,  712,  708,  704, 700 },
    /* ToneMappingValue[200] */
    { 8,     8,     16,    24,    31,    39,    48,    56,    65,    75,    85,    95,    106,   118,   130,   143,
      156,   170,   185,   201,   218,   235,   254,   274,   294,   316,   339,   364,   390,   417,   446,   477,
      509,   543,   579,   617,   658,   701,   746,   794,   844,   898,   955,   1015,  1078,  1145,  1216,  1291,
      1370,  1454,  1543,  1637,  1736,  1841,  1952,  2069,  2194,  2325,  2465,  2612,  2767,  2932,  3106,  3290,
      3485,  3691,  3909,  4140,  4384,  4641,  4914,  5202,  5507,  5830,  6171,  6531,  6913,  7316,  7742,  8193,
      8669,  9173,  9705,  10268, 10863, 11492, 12145, 12808, 13483, 14171, 14872, 15587, 16319, 17069, 17840, 18635,
      19458, 19881, 20313, 20754, 21204, 21661, 22122, 22586, 23053, 23525, 24000, 24480, 24965, 25455, 25950, 26451,
      26959, 27473, 27995, 28524, 29062, 29609, 30165, 30732, 31309, 31899, 32501, 33116, 33746, 34391, 35043, 35706,
      36381, 37066, 37763, 38472, 39192, 39925, 40671, 41429, 42201, 42591, 42986, 43383, 43784, 44189, 44597, 45008,
      45424, 45842, 46265, 46691, 47121, 47555, 47993, 48434, 48880, 49329, 49783, 50241, 50703, 51169, 51639, 52113,
      52592, 53075, 53564, 54056, 54552, 55054, 55560, 56071, 56586, 56846, 57107, 57369, 57632, 57896, 58162, 58429,
      58697, 58967, 59238, 59510, 59783, 60057, 60333, 60611, 60889, 61169, 61451, 61733, 62017, 62303, 62589, 62877,
      63167, 63458, 63750, 64044, 64340, 64636, 64934, 65234 },
    /* u8Asymmetry */
    30,
    /* u8SecondPole */
    200,
    /* u8Stretch */
    60,
    /* u8Compress */
    200,
    /* u8CurveSel */
    2,
    /* au16Xpoint */
    { 0, 200, 400, 600, 1000 },
    /* au16Ypoint */
    { 0, 200, 400, 600, 1000 },
    /* au16Slope */
    { 1000, 1000, 1000, 1000, 1000 }
};

#ifdef CONFIG_HI_ISP_CA_SUPPORT
static const ISP_CMOS_CA_S g_stIspCA = {
    /* CA */
    1,
    /* Y */
    { 516,  525,  534,  544,  554,  563,  573,  583,  594,  604,  614,  624,  634,  644,  654,  664,  674,  684,  694,
      704,  713,  723,  732,  741,  750,  758,  766,  775,  782,  790,  797,  804,  811,  817,  823,  828,  834,  839,
      844,  848,  853,  857,  861,  865,  868,  872,  875,  878,  881,  884,  887,  890,  892,  895,  898,  900,  903,
      905,  908,  910,  913,  915,  918,  921,  924,  926,  929,  932,  935,  937,  940,  943,  945,  948,  950,  952,
      955,  957,  959,  961,  964,  966,  968,  970,  972,  974,  976,  978,  979,  981,  983,  985,  987,  988,  990,
      992,  993,  994,  995,  996,  997,  998,  998,  999,  1000, 1001, 1002, 1002, 1003, 1004, 1005, 1006, 1006, 1007,
      1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1018, 1019, 1020, 1022, 1024 },
    /* ISO */
    { 1300, 1300, 1250, 1200, 1150, 1100, 1050, 1000, 950, 900, 900, 800, 800, 800, 800, 800 }
};
#endif

static const ISP_CMOS_LSC_S g_stCmosLsc = {
    /* MeshStrength */
    1024,
    /* MeshScale */
    1,
    /* ISP_LSC_CABLI_TABLE_S */
    {
        {
            // Rgain:
            { 560, 513, 476, 446, 421, 399, 382, 371, 356, 346, 337, 328, 322, 317, 313, 310, 308, 307, 308, 310, 313,
              319, 325, 331, 338, 351, 360, 376, 391, 409, 433, 462, 492, 546, 504, 464, 439, 415, 393, 376, 365, 352,
              340, 333, 325, 319, 313, 309, 306, 304, 303, 304, 305, 309, 315, 320, 328, 334, 346, 355, 368, 383, 404,
              425, 455, 480, 526, 489, 456, 428, 408, 388, 370, 360, 346, 336, 328, 321, 316, 309, 305, 302, 301, 301,
              301, 302, 305, 311, 316, 322, 331, 340, 351, 363, 376, 394, 417, 442, 466, 512, 477, 444, 420, 402, 380,
              366, 354, 343, 334, 326, 317, 310, 307, 302, 299, 298, 298, 298, 298, 302, 307, 311, 319, 327, 338, 345,
              359, 370, 384, 407, 434, 457, 501, 466, 438, 412, 396, 376, 364, 351, 340, 330, 321, 315, 308, 304, 299,
              295, 295, 294, 295, 296, 300, 303, 309, 315, 322, 332, 340, 353, 366, 380, 400, 422, 447, 490, 460, 430,
              408, 390, 375, 361, 347, 335, 327, 318, 311, 307, 300, 297, 293, 291, 292, 292, 294, 296, 301, 307, 312,
              319, 329, 338, 348, 360, 376, 393, 415, 438, 483, 455, 425, 405, 385, 369, 355, 344, 334, 326, 316, 309,
              302, 298, 293, 290, 288, 289, 289, 291, 294, 299, 304, 311, 317, 326, 336, 346, 357, 372, 388, 408, 428,
              476, 447, 423, 401, 381, 368, 353, 341, 332, 322, 312, 305, 299, 294, 288, 286, 284, 284, 286, 288, 290,
              295, 302, 307, 314, 323, 334, 343, 354, 367, 385, 404, 423, 472, 442, 418, 395, 379, 366, 351, 339, 328,
              317, 308, 301, 294, 288, 284, 282, 279, 279, 280, 283, 287, 292, 298, 306, 313, 321, 330, 341, 352, 366,
              382, 399, 420, 470, 440, 416, 395, 377, 364, 350, 338, 326, 314, 304, 296, 290, 284, 279, 277, 275, 273,
              275, 278, 283, 290, 296, 304, 311, 319, 329, 340, 351, 364, 377, 396, 415, 462, 438, 411, 395, 377, 363,
              349, 334, 321, 309, 301, 292, 285, 279, 274, 272, 270, 269, 270, 273, 279, 285, 292, 301, 309, 318, 328,
              338, 351, 362, 376, 393, 409, 461, 437, 410, 393, 376, 363, 346, 332, 318, 305, 296, 288, 283, 275, 271,
              268, 265, 265, 267, 269, 275, 280, 287, 298, 307, 317, 326, 338, 349, 361, 373, 390, 409, 459, 435, 410,
              392, 376, 361, 343, 328, 314, 302, 292, 284, 280, 272, 268, 264, 262, 261, 263, 265, 270, 277, 283, 292,
              304, 316, 324, 336, 348, 362, 373, 390, 406, 459, 437, 410, 394, 376, 359, 341, 326, 311, 299, 290, 282,
              274, 268, 265, 262, 260, 260, 259, 262, 267, 273, 281, 290, 300, 313, 324, 334, 348, 361, 373, 388, 406,
              459, 437, 411, 394, 375, 356, 339, 324, 309, 297, 288, 279, 273, 267, 262, 260, 260, 258, 258, 260, 265,
              270, 278, 287, 297, 310, 322, 334, 348, 360, 375, 389, 404, 459, 438, 413, 392, 373, 355, 337, 321, 308,
              295, 286, 279, 271, 265, 261, 259, 258, 257, 257, 258, 262, 270, 276, 284, 295, 308, 321, 334, 348, 360,
              375, 389, 404, 460, 438, 413, 392, 372, 352, 336, 321, 307, 294, 285, 278, 271, 264, 260, 258, 257, 256,
              256, 258, 262, 268, 275, 283, 294, 307, 320, 334, 348, 360, 374, 390, 406, 460, 439, 413, 392, 370, 351,
              334, 321, 306, 294, 285, 277, 270, 264, 261, 258, 257, 256, 256, 258, 261, 266, 274, 283, 293, 305, 319,
              334, 348, 362, 375, 392, 406, 466, 441, 413, 391, 370, 351, 334, 319, 306, 293, 285, 278, 271, 266, 261,
              258, 258, 257, 256, 257, 262, 267, 274, 283, 292, 304, 318, 333, 348, 362, 377, 394, 406, 470, 444, 417,
              391, 369, 351, 332, 319, 305, 295, 286, 279, 273, 267, 262, 258, 258, 257, 258, 258, 263, 268, 274, 283,
              292, 304, 318, 332, 349, 364, 379, 395, 410, 470, 446, 418, 391, 369, 351, 333, 319, 305, 296, 287, 279,
              275, 268, 263, 260, 258, 257, 258, 262, 263, 270, 275, 283, 293, 305, 318, 332, 349, 365, 380, 396, 411,
              477, 445, 420, 392, 368, 349, 332, 319, 310, 297, 289, 282, 276, 270, 265, 261, 260, 259, 261, 263, 266,
              272, 277, 285, 294, 306, 319, 334, 350, 366, 383, 401, 417, 481, 450, 421, 393, 371, 350, 334, 319, 310,
              299, 292, 284, 278, 273, 268, 263, 262, 262, 263, 265, 269, 275, 280, 287, 295, 308, 321, 336, 351, 368,
              385, 403, 420, 486, 455, 423, 395, 371, 351, 335, 321, 311, 302, 295, 287, 281, 275, 270, 267, 264, 265,
              266, 268, 273, 278, 283, 289, 299, 310, 323, 337, 352, 369, 388, 407, 423, 492, 457, 424, 396, 374, 352,
              337, 323, 314, 306, 296, 290, 284, 279, 274, 269, 268, 268, 270, 272, 276, 281, 286, 292, 302, 313, 326,
              340, 355, 373, 391, 410, 429, 496, 462, 429, 400, 376, 357, 339, 328, 317, 308, 301, 294, 287, 282, 277,
              273, 272, 272, 275, 277, 280, 284, 290, 297, 305, 317, 328, 343, 358, 375, 395, 418, 435, 502, 468, 437,
              405, 379, 362, 343, 332, 320, 313, 306, 296, 291, 286, 282, 278, 276, 277, 279, 280, 284, 290, 294, 300,
              309, 318, 332, 346, 362, 378, 398, 422, 441, 510, 475, 440, 409, 384, 364, 349, 338, 326, 317, 308, 301,
              294, 290, 285, 282, 279, 282, 283, 285, 289, 294, 297, 304, 313, 322, 335, 350, 366, 383, 404, 426, 446,
              520, 480, 444, 413, 391, 369, 352, 340, 332, 321, 313, 306, 299, 294, 290, 286, 285, 286, 287, 291, 293,
              298, 302, 308, 315, 327, 338, 353, 368, 387, 408, 432, 452, 533, 489, 451, 421, 396, 375, 360, 348, 336,
              327, 319, 311, 303, 299, 294, 291, 290, 292, 292, 295, 297, 303, 307, 313, 320, 331, 343, 356, 373, 392,
              413, 440, 462, 540, 499, 461, 429, 402, 380, 363, 351, 340, 330, 323, 315, 308, 303, 300, 296, 296, 296,
              299, 299, 302, 307, 311, 317, 324, 338, 346, 362, 378, 396, 420, 447, 469, 557, 510, 470, 438, 410, 387,
              370, 359, 347, 338, 328, 320, 314, 310, 304, 302, 303, 303, 303, 305, 307, 311, 316, 321, 330, 340, 352,
              366, 383, 403, 428, 459, 483, 566, 521, 480, 445, 416, 392, 377, 362, 351, 340, 331, 325, 317, 314, 309,
              307, 309, 308, 308, 309, 311, 316, 320, 326, 333, 343, 355, 370, 388, 408, 434, 462, 508 },

            // Grgain:
            { 499, 460, 434, 411, 391, 376, 362, 353, 341, 333, 326, 319, 314, 309, 305, 303, 302, 301, 302, 303, 307,
              310, 315, 322, 329, 337, 346, 358, 369, 387, 405, 427, 447, 485, 454, 424, 404, 386, 370, 358, 348, 338,
              329, 321, 316, 311, 306, 302, 300, 299, 298, 299, 301, 304, 307, 313, 319, 326, 333, 342, 353, 366, 382,
              400, 420, 439, 471, 444, 417, 397, 379, 365, 354, 344, 334, 326, 319, 312, 307, 303, 299, 297, 296, 295,
              297, 297, 301, 304, 309, 314, 322, 330, 338, 348, 361, 374, 391, 411, 432, 459, 434, 411, 390, 375, 361,
              351, 341, 332, 322, 315, 309, 305, 301, 297, 294, 293, 292, 293, 294, 297, 302, 305, 312, 319, 327, 335,
              345, 355, 368, 384, 402, 422, 451, 427, 404, 385, 372, 358, 347, 337, 327, 320, 313, 307, 302, 299, 294,
              292, 292, 291, 291, 292, 295, 298, 302, 309, 316, 323, 332, 340, 351, 363, 377, 396, 414, 444, 422, 401,
              384, 367, 354, 344, 333, 326, 318, 311, 305, 300, 295, 292, 289, 288, 288, 289, 291, 292, 297, 301, 307,
              313, 321, 328, 338, 347, 360, 374, 391, 408, 441, 416, 395, 382, 366, 353, 342, 332, 324, 316, 308, 302,
              297, 293, 289, 287, 285, 286, 286, 288, 291, 294, 298, 304, 310, 320, 327, 335, 345, 356, 368, 386, 401,
              434, 413, 394, 376, 363, 352, 341, 330, 321, 313, 306, 301, 293, 289, 286, 283, 281, 281, 283, 284, 287,
              292, 297, 303, 309, 316, 326, 334, 344, 353, 366, 382, 396, 430, 411, 392, 375, 361, 351, 339, 328, 320,
              312, 303, 296, 290, 285, 281, 278, 277, 277, 279, 281, 285, 289, 295, 301, 307, 314, 324, 333, 342, 353,
              363, 378, 393, 429, 409, 388, 375, 361, 350, 338, 327, 318, 307, 299, 292, 285, 280, 277, 274, 273, 271,
              273, 276, 280, 286, 293, 299, 306, 313, 321, 331, 340, 352, 361, 375, 388, 429, 406, 388, 374, 361, 350,
              337, 325, 314, 303, 296, 287, 281, 277, 272, 269, 267, 267, 268, 272, 277, 283, 289, 297, 304, 313, 320,
              330, 340, 350, 360, 373, 388, 425, 404, 387, 374, 361, 348, 335, 323, 310, 299, 292, 283, 279, 273, 268,
              265, 264, 262, 264, 267, 272, 278, 286, 293, 303, 311, 320, 328, 339, 349, 359, 373, 386, 423, 404, 386,
              374, 360, 347, 334, 320, 307, 297, 288, 280, 277, 269, 265, 262, 261, 260, 261, 264, 269, 274, 282, 291,
              300, 310, 320, 328, 338, 349, 359, 370, 384, 427, 406, 388, 374, 360, 346, 332, 318, 305, 294, 285, 278,
              271, 266, 262, 260, 259, 258, 260, 261, 266, 271, 279, 288, 297, 309, 319, 327, 338, 348, 360, 369, 383,
              424, 407, 389, 375, 360, 345, 330, 315, 303, 292, 283, 276, 269, 264, 260, 258, 258, 257, 258, 259, 263,
              269, 276, 286, 296, 306, 317, 328, 338, 350, 360, 370, 383, 425, 407, 391, 374, 359, 343, 327, 314, 302,
              290, 282, 275, 269, 263, 259, 257, 257, 256, 256, 257, 261, 267, 273, 282, 292, 303, 315, 327, 338, 349,
              360, 370, 383, 428, 409, 392, 375, 359, 342, 327, 313, 300, 289, 281, 274, 267, 262, 258, 257, 257, 256,
              256, 257, 260, 266, 273, 281, 291, 302, 315, 327, 338, 350, 361, 373, 385, 430, 411, 391, 375, 358, 341,
              326, 312, 300, 288, 281, 273, 268, 262, 258, 257, 256, 256, 256, 257, 260, 265, 272, 280, 290, 301, 314,
              326, 339, 350, 362, 374, 385, 432, 412, 393, 375, 355, 340, 325, 311, 299, 289, 281, 274, 269, 263, 258,
              257, 256, 256, 256, 258, 261, 266, 273, 280, 289, 300, 312, 326, 339, 351, 362, 376, 388, 434, 414, 394,
              373, 354, 339, 325, 310, 299, 289, 282, 275, 270, 265, 260, 257, 257, 256, 256, 258, 262, 266, 273, 281,
              289, 299, 313, 325, 339, 352, 365, 377, 388, 437, 416, 395, 373, 354, 339, 325, 310, 299, 290, 282, 277,
              272, 265, 261, 257, 257, 256, 257, 260, 263, 268, 274, 281, 290, 300, 313, 326, 339, 353, 366, 379, 390,
              441, 418, 396, 373, 354, 338, 324, 310, 303, 291, 284, 278, 273, 268, 263, 260, 258, 258, 260, 262, 265,
              270, 275, 282, 291, 301, 314, 326, 340, 353, 368, 382, 393, 444, 421, 397, 375, 355, 338, 325, 312, 303,
              293, 286, 280, 275, 270, 266, 262, 261, 260, 262, 264, 269, 273, 277, 284, 292, 302, 314, 327, 341, 355,
              368, 384, 396, 449, 423, 397, 377, 358, 338, 326, 313, 304, 296, 289, 282, 277, 272, 269, 265, 262, 264,
              264, 268, 271, 275, 281, 287, 295, 304, 315, 328, 342, 355, 370, 387, 399, 453, 425, 401, 378, 359, 341,
              327, 316, 305, 299, 291, 285, 280, 274, 271, 268, 265, 266, 269, 271, 273, 278, 283, 289, 297, 307, 318,
              331, 344, 358, 374, 390, 402, 456, 430, 404, 382, 362, 345, 330, 318, 309, 302, 295, 288, 283, 278, 274,
              270, 269, 270, 271, 275, 278, 282, 286, 292, 300, 309, 320, 332, 346, 361, 377, 394, 407, 462, 434, 406,
              384, 365, 347, 333, 321, 314, 305, 298, 291, 286, 282, 278, 274, 273, 275, 276, 278, 282, 286, 291, 296,
              302, 312, 323, 335, 347, 362, 379, 398, 413, 466, 437, 412, 388, 368, 351, 337, 325, 317, 309, 301, 295,
              289, 285, 282, 279, 278, 279, 281, 283, 286, 291, 294, 298, 305, 315, 325, 339, 352, 365, 383, 403, 418,
              473, 445, 415, 392, 372, 355, 341, 330, 322, 313, 307, 299, 293, 289, 287, 283, 283, 283, 286, 287, 289,
              293, 298, 302, 309, 319, 328, 341, 353, 369, 388, 408, 422, 483, 452, 423, 397, 378, 359, 346, 335, 326,
              318, 312, 303, 298, 293, 290, 288, 287, 288, 289, 291, 294, 298, 303, 306, 312, 323, 332, 344, 357, 374,
              392, 412, 431, 493, 460, 431, 403, 382, 364, 351, 339, 330, 321, 315, 309, 302, 298, 294, 293, 292, 293,
              295, 296, 299, 302, 306, 310, 316, 328, 336, 347, 362, 378, 397, 420, 435, 502, 470, 437, 411, 387, 370,
              357, 344, 334, 326, 320, 313, 307, 304, 300, 298, 299, 298, 299, 300, 302, 306, 309, 313, 320, 329, 339,
              353, 366, 383, 403, 425, 445, 511, 475, 444, 414, 393, 374, 361, 346, 338, 329, 322, 317, 309, 307, 304,
              302, 304, 303, 302, 303, 305, 308, 311, 317, 324, 333, 343, 355, 369, 387, 407, 432, 466 },

            // Gbgain:
            { 498, 465, 432, 410, 390, 375, 362, 352, 341, 332, 325, 320, 313, 308, 305, 303, 301, 301, 302, 303, 306,
              312, 315, 321, 330, 338, 346, 357, 370, 387, 406, 427, 450, 486, 455, 425, 404, 385, 371, 358, 347, 339,
              330, 323, 317, 311, 307, 303, 300, 299, 298, 300, 301, 304, 308, 313, 319, 325, 333, 344, 353, 366, 382,
              399, 421, 440, 470, 444, 416, 397, 381, 366, 354, 345, 333, 326, 318, 313, 308, 303, 299, 297, 296, 296,
              296, 297, 301, 304, 309, 315, 321, 330, 338, 348, 359, 375, 392, 412, 433, 462, 434, 411, 392, 375, 362,
              350, 340, 331, 322, 315, 310, 306, 301, 297, 294, 293, 292, 293, 295, 297, 301, 306, 311, 318, 326, 334,
              345, 354, 369, 384, 403, 423, 452, 429, 405, 387, 373, 358, 347, 338, 327, 320, 314, 308, 302, 298, 295,
              292, 291, 291, 291, 292, 295, 300, 303, 309, 315, 324, 332, 341, 352, 363, 378, 396, 415, 446, 422, 401,
              384, 368, 355, 345, 334, 326, 318, 312, 306, 301, 296, 292, 290, 288, 288, 290, 290, 292, 297, 302, 307,
              313, 321, 329, 338, 349, 360, 374, 389, 410, 442, 418, 397, 382, 366, 353, 343, 332, 323, 316, 308, 302,
              297, 293, 289, 286, 285, 285, 287, 287, 291, 294, 298, 305, 311, 319, 327, 336, 346, 356, 369, 386, 402,
              436, 413, 395, 376, 363, 353, 341, 331, 321, 314, 307, 301, 294, 291, 286, 282, 281, 281, 283, 285, 287,
              292, 296, 303, 309, 317, 326, 333, 343, 354, 367, 382, 399, 432, 411, 393, 375, 361, 351, 340, 329, 320,
              312, 303, 296, 289, 285, 281, 278, 277, 277, 279, 281, 284, 290, 295, 301, 308, 314, 323, 333, 342, 353,
              364, 378, 394, 431, 410, 390, 375, 361, 350, 339, 327, 317, 307, 299, 292, 286, 280, 277, 274, 273, 271,
              273, 277, 280, 286, 292, 299, 306, 314, 321, 332, 341, 351, 362, 376, 391, 426, 408, 388, 374, 361, 351,
              337, 325, 313, 304, 295, 288, 281, 277, 272, 270, 267, 267, 268, 272, 276, 281, 289, 297, 304, 313, 320,
              330, 340, 350, 361, 374, 387, 424, 405, 389, 374, 361, 350, 336, 324, 311, 299, 291, 284, 280, 272, 268,
              266, 264, 262, 264, 268, 272, 279, 286, 294, 303, 313, 320, 330, 340, 349, 360, 372, 386, 424, 405, 390,
              375, 362, 348, 333, 321, 307, 296, 288, 281, 277, 269, 265, 262, 261, 261, 262, 264, 269, 275, 282, 291,
              301, 310, 319, 329, 339, 349, 359, 373, 384, 426, 407, 389, 376, 362, 347, 332, 319, 304, 295, 286, 278,
              271, 266, 264, 261, 260, 259, 259, 261, 266, 271, 278, 287, 297, 309, 318, 329, 338, 350, 360, 371, 386,
              424, 407, 391, 375, 361, 345, 330, 316, 303, 292, 284, 276, 269, 265, 261, 259, 258, 257, 257, 258, 264,
              269, 276, 285, 295, 306, 318, 328, 338, 349, 360, 372, 385, 427, 409, 392, 375, 359, 344, 328, 314, 302,
              292, 282, 275, 269, 264, 260, 257, 256, 256, 256, 258, 261, 268, 273, 282, 292, 305, 317, 328, 338, 349,
              362, 373, 384, 429, 410, 392, 376, 359, 342, 327, 313, 301, 289, 281, 274, 268, 262, 259, 257, 257, 256,
              256, 257, 261, 266, 273, 282, 291, 302, 315, 327, 338, 351, 361, 374, 385, 431, 411, 393, 375, 359, 341,
              327, 313, 301, 289, 281, 274, 268, 263, 259, 257, 257, 256, 256, 258, 261, 266, 273, 281, 289, 300, 313,
              326, 339, 351, 361, 375, 386, 435, 413, 395, 374, 357, 340, 325, 313, 299, 289, 282, 275, 269, 263, 259,
              256, 257, 256, 256, 257, 261, 266, 273, 280, 289, 300, 313, 325, 339, 352, 364, 376, 387, 435, 415, 395,
              375, 357, 341, 325, 313, 299, 291, 282, 276, 270, 264, 260, 257, 256, 256, 256, 259, 262, 267, 273, 279,
              289, 300, 313, 325, 339, 353, 366, 377, 391, 438, 418, 396, 374, 355, 340, 325, 311, 300, 290, 283, 278,
              272, 266, 261, 258, 257, 256, 257, 260, 264, 269, 274, 281, 291, 301, 313, 326, 339, 354, 367, 379, 392,
              443, 420, 397, 375, 355, 338, 324, 311, 305, 292, 284, 279, 273, 268, 264, 260, 259, 258, 259, 263, 266,
              270, 275, 282, 291, 302, 314, 327, 340, 355, 368, 382, 393, 445, 422, 399, 376, 356, 339, 325, 313, 303,
              293, 287, 281, 275, 270, 266, 262, 261, 260, 261, 264, 269, 272, 277, 284, 292, 302, 314, 327, 341, 355,
              370, 385, 398, 452, 424, 400, 378, 357, 341, 326, 314, 305, 296, 289, 283, 278, 273, 268, 265, 264, 263,
              264, 268, 271, 276, 281, 286, 294, 304, 315, 329, 343, 358, 374, 387, 402, 454, 426, 403, 381, 359, 343,
              327, 316, 307, 300, 292, 286, 280, 275, 272, 268, 266, 267, 268, 270, 274, 279, 284, 290, 297, 307, 318,
              331, 344, 359, 375, 391, 405, 458, 432, 405, 382, 362, 345, 331, 319, 309, 302, 296, 288, 282, 278, 274,
              271, 270, 270, 273, 275, 278, 282, 287, 292, 299, 309, 320, 333, 347, 361, 376, 395, 409, 463, 435, 410,
              385, 366, 348, 333, 322, 313, 306, 299, 292, 287, 281, 279, 275, 273, 274, 277, 278, 282, 286, 290, 296,
              302, 313, 323, 336, 350, 364, 382, 399, 413, 466, 441, 413, 390, 369, 352, 337, 326, 318, 309, 302, 295,
              290, 286, 283, 279, 278, 279, 282, 283, 286, 291, 294, 299, 305, 315, 326, 338, 352, 367, 384, 404, 418,
              476, 447, 418, 394, 374, 357, 340, 331, 321, 313, 308, 299, 294, 289, 287, 284, 283, 283, 286, 287, 290,
              295, 299, 303, 309, 318, 329, 341, 355, 370, 387, 407, 424, 483, 456, 424, 400, 377, 360, 347, 336, 326,
              318, 313, 303, 298, 293, 290, 287, 287, 288, 291, 292, 293, 298, 302, 307, 313, 323, 332, 345, 358, 374,
              392, 413, 430, 493, 462, 431, 405, 383, 365, 352, 340, 330, 322, 316, 308, 303, 298, 295, 293, 292, 294,
              294, 296, 298, 303, 306, 311, 315, 328, 336, 349, 362, 378, 397, 420, 437, 507, 470, 438, 412, 388, 370,
              357, 345, 334, 327, 320, 313, 307, 304, 300, 299, 299, 300, 299, 300, 302, 306, 310, 314, 320, 330, 339,
              352, 367, 384, 403, 426, 446, 515, 475, 444, 416, 393, 374, 360, 349, 339, 329, 323, 317, 311, 309, 304,
              303, 304, 303, 302, 304, 306, 309, 313, 317, 324, 333, 343, 356, 370, 389, 406, 431, 469 },

            // Bgain:
            { 483, 452, 424, 404, 385, 373, 358, 351, 341, 332, 324, 317, 311, 307, 304, 302, 301, 299, 301, 303, 306,
              309, 315, 322, 329, 335, 344, 356, 368, 384, 402, 423, 443, 474, 444, 419, 399, 380, 367, 354, 345, 338,
              329, 320, 315, 309, 305, 302, 299, 299, 296, 298, 300, 302, 306, 310, 317, 326, 332, 341, 351, 363, 378,
              394, 417, 435, 459, 434, 412, 392, 377, 363, 352, 341, 332, 324, 317, 310, 308, 302, 298, 295, 295, 294,
              296, 296, 299, 303, 308, 313, 320, 329, 337, 346, 357, 371, 387, 407, 424, 449, 426, 404, 385, 372, 358,
              348, 338, 329, 322, 315, 309, 304, 299, 296, 294, 294, 292, 292, 294, 297, 299, 304, 309, 318, 325, 333,
              342, 354, 365, 382, 399, 419, 440, 423, 399, 381, 369, 355, 345, 335, 327, 318, 313, 307, 304, 298, 295,
              291, 291, 290, 291, 291, 295, 297, 303, 307, 316, 322, 330, 341, 350, 361, 377, 392, 411, 435, 417, 395,
              380, 365, 353, 342, 332, 325, 317, 310, 305, 301, 296, 292, 288, 287, 288, 288, 289, 291, 296, 301, 306,
              313, 320, 329, 337, 346, 358, 371, 387, 404, 430, 412, 392, 377, 363, 352, 341, 330, 322, 315, 308, 302,
              297, 292, 288, 286, 283, 285, 286, 287, 288, 295, 298, 304, 310, 317, 326, 333, 344, 354, 369, 383, 399,
              427, 409, 393, 374, 360, 351, 341, 329, 320, 314, 307, 299, 295, 288, 285, 282, 281, 281, 282, 284, 287,
              291, 296, 301, 308, 316, 326, 333, 342, 352, 364, 379, 394, 423, 410, 388, 372, 359, 349, 338, 329, 319,
              309, 302, 296, 290, 286, 281, 278, 275, 277, 279, 280, 283, 288, 294, 300, 306, 314, 324, 332, 341, 351,
              364, 377, 392, 421, 405, 387, 373, 359, 351, 338, 327, 316, 306, 298, 291, 283, 280, 277, 272, 271, 271,
              272, 275, 280, 287, 291, 298, 305, 312, 321, 330, 340, 352, 362, 375, 388, 420, 403, 387, 372, 361, 349,
              337, 325, 313, 301, 295, 286, 280, 274, 271, 269, 267, 266, 268, 270, 276, 281, 288, 296, 304, 312, 320,
              329, 339, 351, 357, 373, 385, 419, 402, 386, 373, 361, 349, 336, 322, 309, 298, 290, 283, 279, 271, 267,
              265, 263, 262, 264, 267, 271, 278, 284, 292, 303, 311, 320, 328, 339, 351, 359, 371, 384, 419, 401, 387,
              374, 362, 346, 335, 319, 306, 295, 286, 280, 275, 268, 264, 262, 261, 260, 260, 264, 268, 273, 281, 290,
              299, 310, 320, 328, 339, 351, 360, 372, 382, 421, 404, 388, 374, 361, 346, 332, 317, 303, 292, 284, 276,
              270, 266, 262, 261, 259, 258, 260, 261, 265, 271, 279, 287, 296, 308, 318, 327, 337, 350, 359, 371, 383,
              420, 405, 388, 376, 361, 344, 329, 315, 301, 290, 282, 275, 269, 263, 260, 258, 257, 256, 257, 258, 263,
              268, 275, 283, 295, 305, 316, 327, 339, 349, 358, 371, 382, 421, 409, 392, 375, 359, 344, 329, 314, 300,
              290, 280, 274, 267, 263, 259, 257, 256, 256, 256, 257, 261, 267, 273, 281, 292, 304, 315, 327, 338, 350,
              361, 371, 382, 424, 411, 394, 375, 358, 342, 327, 312, 298, 288, 280, 273, 267, 262, 258, 257, 256, 256,
              256, 257, 260, 266, 272, 280, 290, 301, 314, 327, 338, 350, 362, 372, 381, 429, 412, 393, 374, 356, 341,
              326, 312, 298, 288, 279, 272, 267, 261, 258, 257, 256, 256, 256, 257, 260, 266, 272, 280, 288, 299, 314,
              325, 339, 351, 363, 374, 384, 427, 413, 393, 374, 356, 340, 326, 311, 298, 287, 280, 273, 268, 263, 259,
              257, 256, 256, 256, 257, 260, 266, 272, 280, 288, 298, 311, 325, 338, 351, 363, 376, 384, 434, 414, 397,
              375, 356, 339, 324, 310, 298, 288, 281, 275, 270, 264, 259, 256, 256, 256, 257, 259, 262, 266, 273, 279,
              288, 299, 311, 325, 338, 351, 364, 377, 385, 436, 415, 397, 374, 356, 341, 324, 309, 298, 288, 282, 275,
              271, 266, 261, 258, 256, 256, 258, 260, 264, 268, 273, 280, 288, 299, 311, 325, 339, 353, 366, 379, 390,
              440, 418, 398, 375, 355, 338, 322, 311, 302, 290, 282, 278, 272, 267, 263, 260, 258, 258, 259, 262, 266,
              270, 274, 281, 289, 299, 313, 326, 340, 353, 367, 380, 394, 443, 419, 399, 377, 356, 338, 324, 311, 302,
              292, 286, 279, 275, 269, 266, 262, 261, 260, 262, 264, 269, 272, 278, 284, 291, 301, 314, 327, 339, 353,
              369, 384, 397, 447, 423, 400, 377, 357, 341, 325, 311, 304, 295, 288, 281, 277, 271, 268, 264, 263, 263,
              264, 267, 270, 275, 280, 287, 294, 303, 314, 327, 341, 355, 373, 386, 399, 451, 427, 403, 380, 359, 342,
              327, 315, 306, 298, 292, 284, 279, 275, 270, 267, 266, 266, 268, 271, 274, 279, 283, 289, 296, 306, 317,
              330, 342, 359, 373, 390, 402, 458, 431, 405, 383, 363, 346, 330, 317, 308, 300, 294, 287, 281, 278, 273,
              270, 269, 270, 272, 274, 278, 282, 286, 291, 299, 308, 320, 332, 344, 358, 377, 394, 409, 461, 435, 412,
              385, 366, 349, 332, 320, 313, 304, 297, 290, 285, 281, 278, 274, 273, 273, 277, 279, 282, 287, 290, 296,
              301, 311, 322, 333, 350, 363, 380, 398, 413, 464, 437, 414, 389, 370, 352, 338, 325, 317, 308, 301, 294,
              288, 285, 282, 278, 278, 279, 281, 283, 286, 290, 294, 298, 305, 313, 325, 337, 351, 365, 381, 402, 415,
              471, 444, 419, 395, 375, 356, 340, 329, 321, 313, 307, 298, 292, 289, 286, 283, 282, 283, 286, 287, 290,
              295, 299, 302, 308, 317, 328, 340, 353, 368, 386, 406, 420, 478, 454, 423, 399, 379, 359, 345, 336, 325,
              316, 311, 303, 298, 292, 290, 287, 287, 289, 289, 292, 296, 299, 303, 306, 313, 322, 329, 343, 356, 372,
              392, 412, 429, 488, 459, 429, 404, 383, 365, 351, 338, 329, 321, 315, 307, 301, 298, 294, 292, 293, 293,
              295, 297, 298, 301, 306, 309, 315, 327, 333, 346, 359, 376, 395, 419, 435, 499, 469, 437, 411, 388, 369,
              356, 342, 333, 326, 318, 311, 306, 305, 299, 298, 300, 299, 299, 299, 304, 306, 309, 314, 319, 329, 338,
              352, 364, 381, 402, 427, 445, 508, 477, 444, 418, 394, 373, 363, 346, 338, 329, 322, 316, 311, 307, 304,
              304, 305, 305, 304, 304, 306, 309, 314, 317, 323, 332, 342, 353, 370, 386, 406, 430, 465 },
        },

        {
            // Rgain:
            { 560, 513, 476, 446, 421, 399, 382, 371, 356, 346, 337, 328, 322, 317, 313, 310, 308, 307, 308, 310, 313,
              319, 325, 331, 338, 351, 360, 376, 391, 409, 433, 462, 492, 546, 504, 464, 439, 415, 393, 376, 365, 352,
              340, 333, 325, 319, 313, 309, 306, 304, 303, 304, 305, 309, 315, 320, 328, 334, 346, 355, 368, 383, 404,
              425, 455, 480, 526, 489, 456, 428, 408, 388, 370, 360, 346, 336, 328, 321, 316, 309, 305, 302, 301, 301,
              301, 302, 305, 311, 316, 322, 331, 340, 351, 363, 376, 394, 417, 442, 466, 512, 477, 444, 420, 402, 380,
              366, 354, 343, 334, 326, 317, 310, 307, 302, 299, 298, 298, 298, 298, 302, 307, 311, 319, 327, 338, 345,
              359, 370, 384, 407, 434, 457, 501, 466, 438, 412, 396, 376, 364, 351, 340, 330, 321, 315, 308, 304, 299,
              295, 295, 294, 295, 296, 300, 303, 309, 315, 322, 332, 340, 353, 366, 380, 400, 422, 447, 490, 460, 430,
              408, 390, 375, 361, 347, 335, 327, 318, 311, 307, 300, 297, 293, 291, 292, 292, 294, 296, 301, 307, 312,
              319, 329, 338, 348, 360, 376, 393, 415, 438, 483, 455, 425, 405, 385, 369, 355, 344, 334, 326, 316, 309,
              302, 298, 293, 290, 288, 289, 289, 291, 294, 299, 304, 311, 317, 326, 336, 346, 357, 372, 388, 408, 428,
              476, 447, 423, 401, 381, 368, 353, 341, 332, 322, 312, 305, 299, 294, 288, 286, 284, 284, 286, 288, 290,
              295, 302, 307, 314, 323, 334, 343, 354, 367, 385, 404, 423, 472, 442, 418, 395, 379, 366, 351, 339, 328,
              317, 308, 301, 294, 288, 284, 282, 279, 279, 280, 283, 287, 292, 298, 306, 313, 321, 330, 341, 352, 366,
              382, 399, 420, 470, 440, 416, 395, 377, 364, 350, 338, 326, 314, 304, 296, 290, 284, 279, 277, 275, 273,
              275, 278, 283, 290, 296, 304, 311, 319, 329, 340, 351, 364, 377, 396, 415, 462, 438, 411, 395, 377, 363,
              349, 334, 321, 309, 301, 292, 285, 279, 274, 272, 270, 269, 270, 273, 279, 285, 292, 301, 309, 318, 328,
              338, 351, 362, 376, 393, 409, 461, 437, 410, 393, 376, 363, 346, 332, 318, 305, 296, 288, 283, 275, 271,
              268, 265, 265, 267, 269, 275, 280, 287, 298, 307, 317, 326, 338, 349, 361, 373, 390, 409, 459, 435, 410,
              392, 376, 361, 343, 328, 314, 302, 292, 284, 280, 272, 268, 264, 262, 261, 263, 265, 270, 277, 283, 292,
              304, 316, 324, 336, 348, 362, 373, 390, 406, 459, 437, 410, 394, 376, 359, 341, 326, 311, 299, 290, 282,
              274, 268, 265, 262, 260, 260, 259, 262, 267, 273, 281, 290, 300, 313, 324, 334, 348, 361, 373, 388, 406,
              459, 437, 411, 394, 375, 356, 339, 324, 309, 297, 288, 279, 273, 267, 262, 260, 260, 258, 258, 260, 265,
              270, 278, 287, 297, 310, 322, 334, 348, 360, 375, 389, 404, 459, 438, 413, 392, 373, 355, 337, 321, 308,
              295, 286, 279, 271, 265, 261, 259, 258, 257, 257, 258, 262, 270, 276, 284, 295, 308, 321, 334, 348, 360,
              375, 389, 404, 460, 438, 413, 392, 372, 352, 336, 321, 307, 294, 285, 278, 271, 264, 260, 258, 257, 256,
              256, 258, 262, 268, 275, 283, 294, 307, 320, 334, 348, 360, 374, 390, 406, 460, 439, 413, 392, 370, 351,
              334, 321, 306, 294, 285, 277, 270, 264, 261, 258, 257, 256, 256, 258, 261, 266, 274, 283, 293, 305, 319,
              334, 348, 362, 375, 392, 406, 466, 441, 413, 391, 370, 351, 334, 319, 306, 293, 285, 278, 271, 266, 261,
              258, 258, 257, 256, 257, 262, 267, 274, 283, 292, 304, 318, 333, 348, 362, 377, 394, 406, 470, 444, 417,
              391, 369, 351, 332, 319, 305, 295, 286, 279, 273, 267, 262, 258, 258, 257, 258, 258, 263, 268, 274, 283,
              292, 304, 318, 332, 349, 364, 379, 395, 410, 470, 446, 418, 391, 369, 351, 333, 319, 305, 296, 287, 279,
              275, 268, 263, 260, 258, 257, 258, 262, 263, 270, 275, 283, 293, 305, 318, 332, 349, 365, 380, 396, 411,
              477, 445, 420, 392, 368, 349, 332, 319, 310, 297, 289, 282, 276, 270, 265, 261, 260, 259, 261, 263, 266,
              272, 277, 285, 294, 306, 319, 334, 350, 366, 383, 401, 417, 481, 450, 421, 393, 371, 350, 334, 319, 310,
              299, 292, 284, 278, 273, 268, 263, 262, 262, 263, 265, 269, 275, 280, 287, 295, 308, 321, 336, 351, 368,
              385, 403, 420, 486, 455, 423, 395, 371, 351, 335, 321, 311, 302, 295, 287, 281, 275, 270, 267, 264, 265,
              266, 268, 273, 278, 283, 289, 299, 310, 323, 337, 352, 369, 388, 407, 423, 492, 457, 424, 396, 374, 352,
              337, 323, 314, 306, 296, 290, 284, 279, 274, 269, 268, 268, 270, 272, 276, 281, 286, 292, 302, 313, 326,
              340, 355, 373, 391, 410, 429, 496, 462, 429, 400, 376, 357, 339, 328, 317, 308, 301, 294, 287, 282, 277,
              273, 272, 272, 275, 277, 280, 284, 290, 297, 305, 317, 328, 343, 358, 375, 395, 418, 435, 502, 468, 437,
              405, 379, 362, 343, 332, 320, 313, 306, 296, 291, 286, 282, 278, 276, 277, 279, 280, 284, 290, 294, 300,
              309, 318, 332, 346, 362, 378, 398, 422, 441, 510, 475, 440, 409, 384, 364, 349, 338, 326, 317, 308, 301,
              294, 290, 285, 282, 279, 282, 283, 285, 289, 294, 297, 304, 313, 322, 335, 350, 366, 383, 404, 426, 446,
              520, 480, 444, 413, 391, 369, 352, 340, 332, 321, 313, 306, 299, 294, 290, 286, 285, 286, 287, 291, 293,
              298, 302, 308, 315, 327, 338, 353, 368, 387, 408, 432, 452, 533, 489, 451, 421, 396, 375, 360, 348, 336,
              327, 319, 311, 303, 299, 294, 291, 290, 292, 292, 295, 297, 303, 307, 313, 320, 331, 343, 356, 373, 392,
              413, 440, 462, 540, 499, 461, 429, 402, 380, 363, 351, 340, 330, 323, 315, 308, 303, 300, 296, 296, 296,
              299, 299, 302, 307, 311, 317, 324, 338, 346, 362, 378, 396, 420, 447, 469, 557, 510, 470, 438, 410, 387,
              370, 359, 347, 338, 328, 320, 314, 310, 304, 302, 303, 303, 303, 305, 307, 311, 316, 321, 330, 340, 352,
              366, 383, 403, 428, 459, 483, 566, 521, 480, 445, 416, 392, 377, 362, 351, 340, 331, 325, 317, 314, 309,
              307, 309, 308, 308, 309, 311, 316, 320, 326, 333, 343, 355, 370, 388, 408, 434, 462, 508 },

            // Grgain:
            { 499, 460, 434, 411, 391, 376, 362, 353, 341, 333, 326, 319, 314, 309, 305, 303, 302, 301, 302, 303, 307,
              310, 315, 322, 329, 337, 346, 358, 369, 387, 405, 427, 447, 485, 454, 424, 404, 386, 370, 358, 348, 338,
              329, 321, 316, 311, 306, 302, 300, 299, 298, 299, 301, 304, 307, 313, 319, 326, 333, 342, 353, 366, 382,
              400, 420, 439, 471, 444, 417, 397, 379, 365, 354, 344, 334, 326, 319, 312, 307, 303, 299, 297, 296, 295,
              297, 297, 301, 304, 309, 314, 322, 330, 338, 348, 361, 374, 391, 411, 432, 459, 434, 411, 390, 375, 361,
              351, 341, 332, 322, 315, 309, 305, 301, 297, 294, 293, 292, 293, 294, 297, 302, 305, 312, 319, 327, 335,
              345, 355, 368, 384, 402, 422, 451, 427, 404, 385, 372, 358, 347, 337, 327, 320, 313, 307, 302, 299, 294,
              292, 292, 291, 291, 292, 295, 298, 302, 309, 316, 323, 332, 340, 351, 363, 377, 396, 414, 444, 422, 401,
              384, 367, 354, 344, 333, 326, 318, 311, 305, 300, 295, 292, 289, 288, 288, 289, 291, 292, 297, 301, 307,
              313, 321, 328, 338, 347, 360, 374, 391, 408, 441, 416, 395, 382, 366, 353, 342, 332, 324, 316, 308, 302,
              297, 293, 289, 287, 285, 286, 286, 288, 291, 294, 298, 304, 310, 320, 327, 335, 345, 356, 368, 386, 401,
              434, 413, 394, 376, 363, 352, 341, 330, 321, 313, 306, 301, 293, 289, 286, 283, 281, 281, 283, 284, 287,
              292, 297, 303, 309, 316, 326, 334, 344, 353, 366, 382, 396, 430, 411, 392, 375, 361, 351, 339, 328, 320,
              312, 303, 296, 290, 285, 281, 278, 277, 277, 279, 281, 285, 289, 295, 301, 307, 314, 324, 333, 342, 353,
              363, 378, 393, 429, 409, 388, 375, 361, 350, 338, 327, 318, 307, 299, 292, 285, 280, 277, 274, 273, 271,
              273, 276, 280, 286, 293, 299, 306, 313, 321, 331, 340, 352, 361, 375, 388, 429, 406, 388, 374, 361, 350,
              337, 325, 314, 303, 296, 287, 281, 277, 272, 269, 267, 267, 268, 272, 277, 283, 289, 297, 304, 313, 320,
              330, 340, 350, 360, 373, 388, 425, 404, 387, 374, 361, 348, 335, 323, 310, 299, 292, 283, 279, 273, 268,
              265, 264, 262, 264, 267, 272, 278, 286, 293, 303, 311, 320, 328, 339, 349, 359, 373, 386, 423, 404, 386,
              374, 360, 347, 334, 320, 307, 297, 288, 280, 277, 269, 265, 262, 261, 260, 261, 264, 269, 274, 282, 291,
              300, 310, 320, 328, 338, 349, 359, 370, 384, 427, 406, 388, 374, 360, 346, 332, 318, 305, 294, 285, 278,
              271, 266, 262, 260, 259, 258, 260, 261, 266, 271, 279, 288, 297, 309, 319, 327, 338, 348, 360, 369, 383,
              424, 407, 389, 375, 360, 345, 330, 315, 303, 292, 283, 276, 269, 264, 260, 258, 258, 257, 258, 259, 263,
              269, 276, 286, 296, 306, 317, 328, 338, 350, 360, 370, 383, 425, 407, 391, 374, 359, 343, 327, 314, 302,
              290, 282, 275, 269, 263, 259, 257, 257, 256, 256, 257, 261, 267, 273, 282, 292, 303, 315, 327, 338, 349,
              360, 370, 383, 428, 409, 392, 375, 359, 342, 327, 313, 300, 289, 281, 274, 267, 262, 258, 257, 257, 256,
              256, 257, 260, 266, 273, 281, 291, 302, 315, 327, 338, 350, 361, 373, 385, 430, 411, 391, 375, 358, 341,
              326, 312, 300, 288, 281, 273, 268, 262, 258, 257, 256, 256, 256, 257, 260, 265, 272, 280, 290, 301, 314,
              326, 339, 350, 362, 374, 385, 432, 412, 393, 375, 355, 340, 325, 311, 299, 289, 281, 274, 269, 263, 258,
              257, 256, 256, 256, 258, 261, 266, 273, 280, 289, 300, 312, 326, 339, 351, 362, 376, 388, 434, 414, 394,
              373, 354, 339, 325, 310, 299, 289, 282, 275, 270, 265, 260, 257, 257, 256, 256, 258, 262, 266, 273, 281,
              289, 299, 313, 325, 339, 352, 365, 377, 388, 437, 416, 395, 373, 354, 339, 325, 310, 299, 290, 282, 277,
              272, 265, 261, 257, 257, 256, 257, 260, 263, 268, 274, 281, 290, 300, 313, 326, 339, 353, 366, 379, 390,
              441, 418, 396, 373, 354, 338, 324, 310, 303, 291, 284, 278, 273, 268, 263, 260, 258, 258, 260, 262, 265,
              270, 275, 282, 291, 301, 314, 326, 340, 353, 368, 382, 393, 444, 421, 397, 375, 355, 338, 325, 312, 303,
              293, 286, 280, 275, 270, 266, 262, 261, 260, 262, 264, 269, 273, 277, 284, 292, 302, 314, 327, 341, 355,
              368, 384, 396, 449, 423, 397, 377, 358, 338, 326, 313, 304, 296, 289, 282, 277, 272, 269, 265, 262, 264,
              264, 268, 271, 275, 281, 287, 295, 304, 315, 328, 342, 355, 370, 387, 399, 453, 425, 401, 378, 359, 341,
              327, 316, 305, 299, 291, 285, 280, 274, 271, 268, 265, 266, 269, 271, 273, 278, 283, 289, 297, 307, 318,
              331, 344, 358, 374, 390, 402, 456, 430, 404, 382, 362, 345, 330, 318, 309, 302, 295, 288, 283, 278, 274,
              270, 269, 270, 271, 275, 278, 282, 286, 292, 300, 309, 320, 332, 346, 361, 377, 394, 407, 462, 434, 406,
              384, 365, 347, 333, 321, 314, 305, 298, 291, 286, 282, 278, 274, 273, 275, 276, 278, 282, 286, 291, 296,
              302, 312, 323, 335, 347, 362, 379, 398, 413, 466, 437, 412, 388, 368, 351, 337, 325, 317, 309, 301, 295,
              289, 285, 282, 279, 278, 279, 281, 283, 286, 291, 294, 298, 305, 315, 325, 339, 352, 365, 383, 403, 418,
              473, 445, 415, 392, 372, 355, 341, 330, 322, 313, 307, 299, 293, 289, 287, 283, 283, 283, 286, 287, 289,
              293, 298, 302, 309, 319, 328, 341, 353, 369, 388, 408, 422, 483, 452, 423, 397, 378, 359, 346, 335, 326,
              318, 312, 303, 298, 293, 290, 288, 287, 288, 289, 291, 294, 298, 303, 306, 312, 323, 332, 344, 357, 374,
              392, 412, 431, 493, 460, 431, 403, 382, 364, 351, 339, 330, 321, 315, 309, 302, 298, 294, 293, 292, 293,
              295, 296, 299, 302, 306, 310, 316, 328, 336, 347, 362, 378, 397, 420, 435, 502, 470, 437, 411, 387, 370,
              357, 344, 334, 326, 320, 313, 307, 304, 300, 298, 299, 298, 299, 300, 302, 306, 309, 313, 320, 329, 339,
              353, 366, 383, 403, 425, 445, 511, 475, 444, 414, 393, 374, 361, 346, 338, 329, 322, 317, 309, 307, 304,
              302, 304, 303, 302, 303, 305, 308, 311, 317, 324, 333, 343, 355, 369, 387, 407, 432, 466 },

            // Gbgain:
            { 498, 465, 432, 410, 390, 375, 362, 352, 341, 332, 325, 320, 313, 308, 305, 303, 301, 301, 302, 303, 306,
              312, 315, 321, 330, 338, 346, 357, 370, 387, 406, 427, 450, 486, 455, 425, 404, 385, 371, 358, 347, 339,
              330, 323, 317, 311, 307, 303, 300, 299, 298, 300, 301, 304, 308, 313, 319, 325, 333, 344, 353, 366, 382,
              399, 421, 440, 470, 444, 416, 397, 381, 366, 354, 345, 333, 326, 318, 313, 308, 303, 299, 297, 296, 296,
              296, 297, 301, 304, 309, 315, 321, 330, 338, 348, 359, 375, 392, 412, 433, 462, 434, 411, 392, 375, 362,
              350, 340, 331, 322, 315, 310, 306, 301, 297, 294, 293, 292, 293, 295, 297, 301, 306, 311, 318, 326, 334,
              345, 354, 369, 384, 403, 423, 452, 429, 405, 387, 373, 358, 347, 338, 327, 320, 314, 308, 302, 298, 295,
              292, 291, 291, 291, 292, 295, 300, 303, 309, 315, 324, 332, 341, 352, 363, 378, 396, 415, 446, 422, 401,
              384, 368, 355, 345, 334, 326, 318, 312, 306, 301, 296, 292, 290, 288, 288, 290, 290, 292, 297, 302, 307,
              313, 321, 329, 338, 349, 360, 374, 389, 410, 442, 418, 397, 382, 366, 353, 343, 332, 323, 316, 308, 302,
              297, 293, 289, 286, 285, 285, 287, 287, 291, 294, 298, 305, 311, 319, 327, 336, 346, 356, 369, 386, 402,
              436, 413, 395, 376, 363, 353, 341, 331, 321, 314, 307, 301, 294, 291, 286, 282, 281, 281, 283, 285, 287,
              292, 296, 303, 309, 317, 326, 333, 343, 354, 367, 382, 399, 432, 411, 393, 375, 361, 351, 340, 329, 320,
              312, 303, 296, 289, 285, 281, 278, 277, 277, 279, 281, 284, 290, 295, 301, 308, 314, 323, 333, 342, 353,
              364, 378, 394, 431, 410, 390, 375, 361, 350, 339, 327, 317, 307, 299, 292, 286, 280, 277, 274, 273, 271,
              273, 277, 280, 286, 292, 299, 306, 314, 321, 332, 341, 351, 362, 376, 391, 426, 408, 388, 374, 361, 351,
              337, 325, 313, 304, 295, 288, 281, 277, 272, 270, 267, 267, 268, 272, 276, 281, 289, 297, 304, 313, 320,
              330, 340, 350, 361, 374, 387, 424, 405, 389, 374, 361, 350, 336, 324, 311, 299, 291, 284, 280, 272, 268,
              266, 264, 262, 264, 268, 272, 279, 286, 294, 303, 313, 320, 330, 340, 349, 360, 372, 386, 424, 405, 390,
              375, 362, 348, 333, 321, 307, 296, 288, 281, 277, 269, 265, 262, 261, 261, 262, 264, 269, 275, 282, 291,
              301, 310, 319, 329, 339, 349, 359, 373, 384, 426, 407, 389, 376, 362, 347, 332, 319, 304, 295, 286, 278,
              271, 266, 264, 261, 260, 259, 259, 261, 266, 271, 278, 287, 297, 309, 318, 329, 338, 350, 360, 371, 386,
              424, 407, 391, 375, 361, 345, 330, 316, 303, 292, 284, 276, 269, 265, 261, 259, 258, 257, 257, 258, 264,
              269, 276, 285, 295, 306, 318, 328, 338, 349, 360, 372, 385, 427, 409, 392, 375, 359, 344, 328, 314, 302,
              292, 282, 275, 269, 264, 260, 257, 256, 256, 256, 258, 261, 268, 273, 282, 292, 305, 317, 328, 338, 349,
              362, 373, 384, 429, 410, 392, 376, 359, 342, 327, 313, 301, 289, 281, 274, 268, 262, 259, 257, 257, 256,
              256, 257, 261, 266, 273, 282, 291, 302, 315, 327, 338, 351, 361, 374, 385, 431, 411, 393, 375, 359, 341,
              327, 313, 301, 289, 281, 274, 268, 263, 259, 257, 257, 256, 256, 258, 261, 266, 273, 281, 289, 300, 313,
              326, 339, 351, 361, 375, 386, 435, 413, 395, 374, 357, 340, 325, 313, 299, 289, 282, 275, 269, 263, 259,
              256, 257, 256, 256, 257, 261, 266, 273, 280, 289, 300, 313, 325, 339, 352, 364, 376, 387, 435, 415, 395,
              375, 357, 341, 325, 313, 299, 291, 282, 276, 270, 264, 260, 257, 256, 256, 256, 259, 262, 267, 273, 279,
              289, 300, 313, 325, 339, 353, 366, 377, 391, 438, 418, 396, 374, 355, 340, 325, 311, 300, 290, 283, 278,
              272, 266, 261, 258, 257, 256, 257, 260, 264, 269, 274, 281, 291, 301, 313, 326, 339, 354, 367, 379, 392,
              443, 420, 397, 375, 355, 338, 324, 311, 305, 292, 284, 279, 273, 268, 264, 260, 259, 258, 259, 263, 266,
              270, 275, 282, 291, 302, 314, 327, 340, 355, 368, 382, 393, 445, 422, 399, 376, 356, 339, 325, 313, 303,
              293, 287, 281, 275, 270, 266, 262, 261, 260, 261, 264, 269, 272, 277, 284, 292, 302, 314, 327, 341, 355,
              370, 385, 398, 452, 424, 400, 378, 357, 341, 326, 314, 305, 296, 289, 283, 278, 273, 268, 265, 264, 263,
              264, 268, 271, 276, 281, 286, 294, 304, 315, 329, 343, 358, 374, 387, 402, 454, 426, 403, 381, 359, 343,
              327, 316, 307, 300, 292, 286, 280, 275, 272, 268, 266, 267, 268, 270, 274, 279, 284, 290, 297, 307, 318,
              331, 344, 359, 375, 391, 405, 458, 432, 405, 382, 362, 345, 331, 319, 309, 302, 296, 288, 282, 278, 274,
              271, 270, 270, 273, 275, 278, 282, 287, 292, 299, 309, 320, 333, 347, 361, 376, 395, 409, 463, 435, 410,
              385, 366, 348, 333, 322, 313, 306, 299, 292, 287, 281, 279, 275, 273, 274, 277, 278, 282, 286, 290, 296,
              302, 313, 323, 336, 350, 364, 382, 399, 413, 466, 441, 413, 390, 369, 352, 337, 326, 318, 309, 302, 295,
              290, 286, 283, 279, 278, 279, 282, 283, 286, 291, 294, 299, 305, 315, 326, 338, 352, 367, 384, 404, 418,
              476, 447, 418, 394, 374, 357, 340, 331, 321, 313, 308, 299, 294, 289, 287, 284, 283, 283, 286, 287, 290,
              295, 299, 303, 309, 318, 329, 341, 355, 370, 387, 407, 424, 483, 456, 424, 400, 377, 360, 347, 336, 326,
              318, 313, 303, 298, 293, 290, 287, 287, 288, 291, 292, 293, 298, 302, 307, 313, 323, 332, 345, 358, 374,
              392, 413, 430, 493, 462, 431, 405, 383, 365, 352, 340, 330, 322, 316, 308, 303, 298, 295, 293, 292, 294,
              294, 296, 298, 303, 306, 311, 315, 328, 336, 349, 362, 378, 397, 420, 437, 507, 470, 438, 412, 388, 370,
              357, 345, 334, 327, 320, 313, 307, 304, 300, 299, 299, 300, 299, 300, 302, 306, 310, 314, 320, 330, 339,
              352, 367, 384, 403, 426, 446, 515, 475, 444, 416, 393, 374, 360, 349, 339, 329, 323, 317, 311, 309, 304,
              303, 304, 303, 302, 304, 306, 309, 313, 317, 324, 333, 343, 356, 370, 389, 406, 431, 469 },

            // Bgain:
            { 483, 452, 424, 404, 385, 373, 358, 351, 341, 332, 324, 317, 311, 307, 304, 302, 301, 299, 301, 303, 306,
              309, 315, 322, 329, 335, 344, 356, 368, 384, 402, 423, 443, 474, 444, 419, 399, 380, 367, 354, 345, 338,
              329, 320, 315, 309, 305, 302, 299, 299, 296, 298, 300, 302, 306, 310, 317, 326, 332, 341, 351, 363, 378,
              394, 417, 435, 459, 434, 412, 392, 377, 363, 352, 341, 332, 324, 317, 310, 308, 302, 298, 295, 295, 294,
              296, 296, 299, 303, 308, 313, 320, 329, 337, 346, 357, 371, 387, 407, 424, 449, 426, 404, 385, 372, 358,
              348, 338, 329, 322, 315, 309, 304, 299, 296, 294, 294, 292, 292, 294, 297, 299, 304, 309, 318, 325, 333,
              342, 354, 365, 382, 399, 419, 440, 423, 399, 381, 369, 355, 345, 335, 327, 318, 313, 307, 304, 298, 295,
              291, 291, 290, 291, 291, 295, 297, 303, 307, 316, 322, 330, 341, 350, 361, 377, 392, 411, 435, 417, 395,
              380, 365, 353, 342, 332, 325, 317, 310, 305, 301, 296, 292, 288, 287, 288, 288, 289, 291, 296, 301, 306,
              313, 320, 329, 337, 346, 358, 371, 387, 404, 430, 412, 392, 377, 363, 352, 341, 330, 322, 315, 308, 302,
              297, 292, 288, 286, 283, 285, 286, 287, 288, 295, 298, 304, 310, 317, 326, 333, 344, 354, 369, 383, 399,
              427, 409, 393, 374, 360, 351, 341, 329, 320, 314, 307, 299, 295, 288, 285, 282, 281, 281, 282, 284, 287,
              291, 296, 301, 308, 316, 326, 333, 342, 352, 364, 379, 394, 423, 410, 388, 372, 359, 349, 338, 329, 319,
              309, 302, 296, 290, 286, 281, 278, 275, 277, 279, 280, 283, 288, 294, 300, 306, 314, 324, 332, 341, 351,
              364, 377, 392, 421, 405, 387, 373, 359, 351, 338, 327, 316, 306, 298, 291, 283, 280, 277, 272, 271, 271,
              272, 275, 280, 287, 291, 298, 305, 312, 321, 330, 340, 352, 362, 375, 388, 420, 403, 387, 372, 361, 349,
              337, 325, 313, 301, 295, 286, 280, 274, 271, 269, 267, 266, 268, 270, 276, 281, 288, 296, 304, 312, 320,
              329, 339, 351, 357, 373, 385, 419, 402, 386, 373, 361, 349, 336, 322, 309, 298, 290, 283, 279, 271, 267,
              265, 263, 262, 264, 267, 271, 278, 284, 292, 303, 311, 320, 328, 339, 351, 359, 371, 384, 419, 401, 387,
              374, 362, 346, 335, 319, 306, 295, 286, 280, 275, 268, 264, 262, 261, 260, 260, 264, 268, 273, 281, 290,
              299, 310, 320, 328, 339, 351, 360, 372, 382, 421, 404, 388, 374, 361, 346, 332, 317, 303, 292, 284, 276,
              270, 266, 262, 261, 259, 258, 260, 261, 265, 271, 279, 287, 296, 308, 318, 327, 337, 350, 359, 371, 383,
              420, 405, 388, 376, 361, 344, 329, 315, 301, 290, 282, 275, 269, 263, 260, 258, 257, 256, 257, 258, 263,
              268, 275, 283, 295, 305, 316, 327, 339, 349, 358, 371, 382, 421, 409, 392, 375, 359, 344, 329, 314, 300,
              290, 280, 274, 267, 263, 259, 257, 256, 256, 256, 257, 261, 267, 273, 281, 292, 304, 315, 327, 338, 350,
              361, 371, 382, 424, 411, 394, 375, 358, 342, 327, 312, 298, 288, 280, 273, 267, 262, 258, 257, 256, 256,
              256, 257, 260, 266, 272, 280, 290, 301, 314, 327, 338, 350, 362, 372, 381, 429, 412, 393, 374, 356, 341,
              326, 312, 298, 288, 279, 272, 267, 261, 258, 257, 256, 256, 256, 257, 260, 266, 272, 280, 288, 299, 314,
              325, 339, 351, 363, 374, 384, 427, 413, 393, 374, 356, 340, 326, 311, 298, 287, 280, 273, 268, 263, 259,
              257, 256, 256, 256, 257, 260, 266, 272, 280, 288, 298, 311, 325, 338, 351, 363, 376, 384, 434, 414, 397,
              375, 356, 339, 324, 310, 298, 288, 281, 275, 270, 264, 259, 256, 256, 256, 257, 259, 262, 266, 273, 279,
              288, 299, 311, 325, 338, 351, 364, 377, 385, 436, 415, 397, 374, 356, 341, 324, 309, 298, 288, 282, 275,
              271, 266, 261, 258, 256, 256, 258, 260, 264, 268, 273, 280, 288, 299, 311, 325, 339, 353, 366, 379, 390,
              440, 418, 398, 375, 355, 338, 322, 311, 302, 290, 282, 278, 272, 267, 263, 260, 258, 258, 259, 262, 266,
              270, 274, 281, 289, 299, 313, 326, 340, 353, 367, 380, 394, 443, 419, 399, 377, 356, 338, 324, 311, 302,
              292, 286, 279, 275, 269, 266, 262, 261, 260, 262, 264, 269, 272, 278, 284, 291, 301, 314, 327, 339, 353,
              369, 384, 397, 447, 423, 400, 377, 357, 341, 325, 311, 304, 295, 288, 281, 277, 271, 268, 264, 263, 263,
              264, 267, 270, 275, 280, 287, 294, 303, 314, 327, 341, 355, 373, 386, 399, 451, 427, 403, 380, 359, 342,
              327, 315, 306, 298, 292, 284, 279, 275, 270, 267, 266, 266, 268, 271, 274, 279, 283, 289, 296, 306, 317,
              330, 342, 359, 373, 390, 402, 458, 431, 405, 383, 363, 346, 330, 317, 308, 300, 294, 287, 281, 278, 273,
              270, 269, 270, 272, 274, 278, 282, 286, 291, 299, 308, 320, 332, 344, 358, 377, 394, 409, 461, 435, 412,
              385, 366, 349, 332, 320, 313, 304, 297, 290, 285, 281, 278, 274, 273, 273, 277, 279, 282, 287, 290, 296,
              301, 311, 322, 333, 350, 363, 380, 398, 413, 464, 437, 414, 389, 370, 352, 338, 325, 317, 308, 301, 294,
              288, 285, 282, 278, 278, 279, 281, 283, 286, 290, 294, 298, 305, 313, 325, 337, 351, 365, 381, 402, 415,
              471, 444, 419, 395, 375, 356, 340, 329, 321, 313, 307, 298, 292, 289, 286, 283, 282, 283, 286, 287, 290,
              295, 299, 302, 308, 317, 328, 340, 353, 368, 386, 406, 420, 478, 454, 423, 399, 379, 359, 345, 336, 325,
              316, 311, 303, 298, 292, 290, 287, 287, 289, 289, 292, 296, 299, 303, 306, 313, 322, 329, 343, 356, 372,
              392, 412, 429, 488, 459, 429, 404, 383, 365, 351, 338, 329, 321, 315, 307, 301, 298, 294, 292, 293, 293,
              295, 297, 298, 301, 306, 309, 315, 327, 333, 346, 359, 376, 395, 419, 435, 499, 469, 437, 411, 388, 369,
              356, 342, 333, 326, 318, 311, 306, 305, 299, 298, 300, 299, 299, 299, 304, 306, 309, 314, 319, 329, 338,
              352, 364, 381, 402, 427, 445, 508, 477, 444, 418, 394, 373, 363, 346, 338, 329, 322, 316, 311, 307, 304,
              304, 305, 305, 304, 304, 306, 309, 314, 317, 323, 332, 342, 353, 370, 386, 406, 430, 465 },

        },
    },

    /* ISP_BNR_LSC_CALIB_TABLE_S */
    {
        // RGain
        { 4096, 4103, 4132, 4157, 4175, 4220, 4250, 4296, 4328, 4371, 4398, 4419, 4443, 4476, 4520, 4535, 4562,
          4605, 4643, 4682, 4691, 4726, 4761, 4772, 4786, 4821, 4880, 4887, 4909, 4932, 4954, 5000, 5024, 5031,
          5079, 5107, 5118, 5140, 5163, 5224, 5171, 5237, 5316, 5327, 5317, 5306, 5391, 5365, 5395, 5433, 5440,
          5490, 5529, 5566, 5596, 5596, 5656, 5629, 5668, 5698, 5715, 5745, 5860, 5788, 5796, 5826, 5841, 5862,
          5908, 5952, 6000, 6048, 6015, 6084, 6159, 6157, 6096, 6208, 6201, 6266, 6300, 6344, 6365, 6334, 6429,
          6521, 6491, 6495, 6558, 6585, 6646, 6806, 6775, 6703, 6803, 6859, 6911, 6932, 6969, 7011, 7027, 7137,
          7169, 7236, 7281, 7229, 7209, 7387, 7384, 7445, 7574, 7577, 7640, 7722, 7771, 7745, 7894, 7921, 7969,
          7945, 8098, 8177, 8216, 8245, 8434, 8590, 8573, 8580, 8627 },
        // GrGain
        { 4110, 4096, 4121, 4151, 4183, 4211, 4242, 4283, 4316, 4346, 4359, 4395, 4422, 4436, 4478, 4487, 4535,
          4552, 4589, 4612, 4656, 4668, 4692, 4698, 4739, 4765, 4775, 4846, 4813, 4848, 4885, 4902, 4902, 4913,
          4945, 4968, 4967, 5014, 5032, 5055, 5118, 5088, 5144, 5190, 5183, 5191, 5204, 5216, 5280, 5293, 5302,
          5332, 5344, 5389, 5372, 5421, 5429, 5446, 5483, 5508, 5555, 5593, 5529, 5557, 5568, 5617, 5705, 5645,
          5704, 5701, 5713, 5790, 5784, 5827, 5834, 5859, 5870, 5901, 5877, 5959, 6012, 6009, 6066, 6062, 6127,
          6136, 6193, 6222, 6257, 6263, 6288, 6319, 6329, 6350, 6362, 6410, 6451, 6513, 6557, 6588, 6614, 6597,
          6690, 6741, 6785, 6729, 6783, 6851, 6882, 6897, 6964, 6996, 7058, 7090, 7112, 7174, 7184, 7236, 7318,
          7261, 7325, 7408, 7466, 7574, 7682, 7817, 7723, 7770, 7797 },
        // GbGain
        { 4096, 4106, 4122, 4157, 4180, 4205, 4242, 4278, 4318, 4360, 4381, 4402, 4425, 4457, 4471, 4488, 4527,
          4550, 4587, 4611, 4634, 4666, 4694, 4715, 4735, 4751, 4802, 4816, 4858, 4889, 4878, 4885, 4906, 4936,
          4972, 4989, 4996, 5043, 5055, 5054, 5087, 5118, 5152, 5134, 5197, 5221, 5240, 5242, 5291, 5291, 5294,
          5335, 5365, 5376, 5369, 5431, 5431, 5499, 5468, 5503, 5503, 5539, 5550, 5601, 5593, 5639, 5652, 5667,
          5690, 5754, 5734, 5805, 5837, 5852, 5886, 5841, 5900, 5946, 5959, 5982, 6017, 6048, 6066, 6076, 6162,
          6108, 6133, 6175, 6258, 6274, 6263, 6312, 6333, 6378, 6391, 6424, 6462, 6527, 6520, 6580, 6577, 6629,
          6755, 6673, 6772, 6817, 6774, 6868, 6904, 6946, 7037, 7015, 7027, 7039, 7096, 7165, 7227, 7327, 7302,
          7372, 7363, 7433, 7530, 7543, 7661, 7810, 7800, 7721, 7855 },
        // BGain
        { 4096, 4112, 4137, 4155, 4189, 4225, 4257, 4280, 4315, 4351, 4387, 4398, 4434, 4481, 4504, 4495, 4523,
          4540, 4616, 4598, 4645, 4663, 4692, 4682, 4752, 4774, 4782, 4861, 4851, 4866, 4849, 4869, 4952, 4956,
          4948, 5000, 5045, 5044, 5084, 5066, 5077, 5099, 5126, 5158, 5147, 5229, 5276, 5257, 5262, 5283, 5368,
          5332, 5336, 5381, 5420, 5412, 5468, 5549, 5492, 5525, 5549, 5564, 5603, 5578, 5656, 5600, 5626, 5616,
          5709, 5690, 5731, 5759, 5796, 5855, 5885, 5864, 5959, 5904, 6015, 5915, 5978, 5976, 6021, 6063, 6136,
          6142, 6163, 6212, 6232, 6246, 6290, 6329, 6348, 6327, 6365, 6452, 6487, 6434, 6478, 6563, 6643, 6652,
          6673, 6685, 6744, 6720, 6861, 6778, 6890, 6946, 6836, 6958, 7128, 7083, 7096, 7149, 7173, 7168, 7283,
          7345, 7291, 7353, 7460, 7434, 7636, 7758, 7649, 7636, 7688 },
    },

};

static const ISP_CMOS_CLUT_S g_stIspCLUT = {
    1,
    128,
    128,
    128,
    {{
        0,          0,          1073740805, 0,          1049598,    3148794,    2100218,    4199408,    5247984,
        8397794,    8398816,    12599241,   12598223,   15751093,   17850285,   23102348,   19954581,   24159090,
        27306857,   31512388,   28364620,   32570148,   35716896,   38872829,   36776700,   40982230,   43078361,
        47282868,   45186736,   49392267,   51488399,   55692906,   53597798,   1,          59898437,   1,
        1072690186, 6299622,    1071640592, 7351260,    2101238,    16800690,   3150833,    19951518,   10500047,
        29404008,   13650880,   33607499,   23101327,   38863643,   26255222,   44116730,   34659136,   45175511,
        38862625,   51476149,   42019576,   53583507,   47272662,   59885169,   49378998,   61993546,   55680660,
        69343784,   57789039,   1047555,    64089677,   1073739782, 67247653,   9450451,    73548291,   9453515,
        1070588952, 22053773,   1069538337, 23106431,   4200429,    36759350,   4201450,    37812006,   14702515,
        48318177,   15755175,   50420429,   29406050,   56728216,   30458707,   61978237,   43063050,   66185809,
        45165305,   71437873,   52523707,   75644422,   56724132,   81946113,   60932724,   1073738761, 66183767,
        1072689165, 70390316,   10504132,   76691979,   10505151,   80898561,   24158067,   87200257,   24161128,
        1067438122, 39913240,   1066387506, 37819146,   4202472,    53571260,   4202471,    55673516,   16806813,
        66179685,   16808853,   69331535,   30462790,   77737491,   31514426,   82988545,   46217962,   89295361,
        48319195,   95597057,   59875984,   1072688144, 63026813,   1071639571, 71434812,   10507194,   76684834,
        10508213,   82992641,   24164190,   89293313,   23118675,   94550529,   37823228,   101901825,  35729134,
        1065336890, 58824347,   1064286274, 49390214,   4202469,    73531961,   4203492,    77732387,   16810892,
        88239617,   16812933,   93490689,   30468910,   101898753,  29424417,   108199425,  44128970,   1071638550,
        43084474,   1070588953, 66177642,   9460656,    68280918,   8413100,    80886281,   22072137,   85087745,
        19978047,   95593985,   33636063,   100845057,  30494416,   109252097,  46248563,   116603393,  42058336,
        1063235656, 75641355,   1062185038, 52574721,   3154915,    98741761,   3154915,    102944257,  15766397,
        115549697,  13671286,   121850369,  27330325,   1069539355, 25236232,   1069539357, 39941801,   7365544,
        35751576,   5269412,    52554301,   16835381,   47316519,   13691691,   90337793,   26303169,   80905729,
        21064370,   107145729,  35770956,   112397825,  28436024,   122905089,  45238785,   130255361,  34758145,
        1061134420, 83024385,   1060084825, 42128897,   2106338,    128152065,  2107361,    133404161,  11576175,
        1068489760, 9481064,    1068489762, 21044987,   4221856,    16853742,   2125724,    30512775,   9499425,
        24225397,   4259608,    39980561,   14775971,   31597057,   7440020,    49448449,   19002916,   38967809,
        9569808,    117648897,  24277505,   81997313,   12748289,   137605633,  29551105,   143908353,  14876161,
        1059034207, 76776961,   1056936036, 17004033,   1058784,    1067440164, 1058783,    0,          6337377,
        29593,      3192666,    2099195,    11613922,   67342,      6374102,    5250028,    16889443,   103045,
        8504914,    11550667,   22164993,   136705,     11683329,   18907026,   26390017,   169473,     13812225,
        25215830,   31663617,   201217,     15940097,   31523616,   134477313,  231937,     67361281,   37830378,
        1055886441, 2046,       0,          1073740802, 10207,      2099197,    1023,       2101238,    48979,
        3148794,    3149813,    9451474,    85705,      3149813,    8398814,    22052753,   120385,     9454534,
        14702517,   31510345,   154113,     19962746,   23110515,   36768534,   185857,     26271551,   28369723,
        43075296,   216577,     31528716,   34676485,   50432678,   246273,     1,          40983248,   1073739784,
        2045,       2100217,    1073740805, 2102258,    1049598,    7350238,    1022,       12603324,   2099196,
        18900900,   5251048,    25207667,   3148792,    28357474,   14702518,   35714855,   4201451,    31516469,
        28355435,   46221026,   14709662,   37823232,   33615663,   54628001,   23117659,   44131017,   39921404,
        63036000,   29424421,   1073740804, 47278787,   1070588953, 34682611,   2101236,    54635145,   4202471,
        1073740802, 10503111,   1071639570, 14706597,   0,          23105410,   0,          26263382,   4200430,
        33612600,   7351258,    40967941,   12600262,   40971003,   18904985,   53573300,   25202563,   49375936,
        30460748,   65131110,   29413195,   56734339,   40967940,   76686873,   33621788,   1071639568, 50424514,
        1067438122, 40977124,   3151853,    58831489,   4204511,    47284909,   13654961,   68288063,   14712719,
        1072690185, 26260325,   1066388527, 26270520,   1023,       38865686,   2,          37829341,   6301665,
        49372875,   8404936,    60926599,   16803751,   59879043,   19960702,   75633196,   29408091,   70386236,
        34664238,   89290241,   37816088,   1069538338, 47270620,   1065336890, 45173470,   4203490,    59877005,
        3156956,    52530850,   14709658,   71433791,   13668220,   60937828,   26266439,   81940993,   23130906,
        1069538335, 44118772,   1062185039, 32594613,   1,          57774750,   1073740805, 43106894,   7354322,
        70382153,   9458616,    86135297,   18908043,   82988545,   21015396,   101893633,  32563005,   1066387506,
        32574219,   1062186057, 44119792,   4204509,    53574324,   2108379,    54625959,   14714757,   68279897,
        9476972,    65132128,   25225001,   82986497,   15796989,   75639321,   35736266,   96643585,   23164556,
        1064286272, 65128047,   1056935017, 29483546,   1047555,    80884239,   1072690187, 35802625,   9456575,
        95591937,   8412076,    114496001,  21012337,   1063237698, 17875788,   1059036248, 32570140,   3156955,
        28387048,   1059803,    50422473,   11573108,   37850754,   3188573,    64078451,   19988235,   72487459,
        5317344,    76685855,   28404385,   93490689,   8492644,    89292289,   36819508,   110296577,  10618369,
        1059035228, 76702209,   1052733568, 12743169,   1073739784, 108195329,  1071639570, 14866945,   9459634,
        1061135440, 5268388,    1051642,    19969880,   1059803,    12636981,   0,          30480122,   6333285,
        18956997,   1047554,    42039961,   11605742,   26324563,   2100215,    72481343,   15828600,   32643585,
        7353300,    88238593,   21099009,   76722689,   12607405,   102945281,  25320961,   123949569,  15763339,
        1054833781, 73597441,   1049581718, 19966827,   1071640591, 1057985631, 1069540377, 1072693249, 7364520,
        11227,      2124700,    1073740804, 15780672,   44886,      4253471,    1051642,    24195798,   76498,
        7428770,    7352280,    32611947,   107088,     9555494,    15756196,   41027073,   136705,     11680257,
        22060919,   99791361,   164353,     13805057,   27316045,   117647873,  192001,     67325441,   32570148,
        1051681931, 1052662,    1052662,    1072689165, 1070589974, 1050622,    2045,       1073739784, 4220832,
        1046534,    1047554,    3151854,    8444713,    1073738759, 1048576,    12604346,   13717171,   2103280,
        4202472,    22057855,   17940028,   7356362,    10505152,   29414214,   23210497,   10512298,   14709660,
        37819153,   27432449,   13665167,   17865595,   45173468,   130252289,  2046,       21020508,   1068487718,
        1047481504, 1047554,    1022,       1073739784, 1068490781, 1049598,    1073740804, 5254108,    27544,
        5251048,    1,          14708639,   61204,      12603323,   4200429,    27310940,   91793,      16809873,
        11553726,   37816088,   122383,     22063980,   18909068,   47272662,   151041,     26268488,   24164194,
        57777812,   178689,     1073739782, 29418297,   1064286273, 205313,     1073739782, 34673423,   1073739784,
        2102258,    2101236,    1071640591, 7356361,    1051642,    10503112,   1072690188, 16811906,   1047554,
        18907025,   1023,       26269492,   1073738760, 26262366,   7353302,    45169385,   1023,       32567087,
        16806813,   57775770,   5254109,    38871808,   26260322,   70381132,   9458617,    1070588952, 33616683,
        1059035228, 12613532,   1072690185, 40972023,   1072690188, 14717826,   4202470,    48327362,   7359418,
        1051642,    13655981,   1066387507, 15769445,   1,          24160110,   1070588952, 24180491,   1,
        33615663,   2101237,    33640111,   2100215,    43070195,   10505151,   68278878,   8402898,    51476152,
        21010302,   82984452,   14707621,   1066386484, 32564026,   1054833781, 18913150,   1073739784, 43069175,
        1071639571, 24166234,   6304722,    52524725,   5264302,    28370742,   15760272,   63029875,   11580233,
        1073740805, 29413194,   1059035229, 17896162,   1073739783, 40968961,   1068488741, 23163513,   0,
        52523704,   3152873,    29478415,   6301665,    64079472,   11559846,   95588865,   14704557,   1061136463,
        21016412,   1050632333, 23109494,   1072690186, 38866705,   1069540378, 29414214,   7357377,    51473090,
        2120612,    35719960,   16814963,   64078451,   4245295,    42024681,   26273568,   76683813,   6367929,
        1069538335, 49370833,   1052732547, 8490564,    1071639569, 63026813,   1065337908, 10612225,   1050620,
        76682792,   3153892,    12733953,   8404938,    1056935016, 11564944,   2103278,    18908046,   1071640591,
        19974968,   2046,       29412174,   6311860,    28386014,   1072690186, 37818129,   13675351,   60925580,
        1072690185, 47272662,   21038839,   75631153,   1073739779, 55678619,   29450900,   90337793,   2046,
        1062187080, 69334590,   1046430886, 1052661,    1069538334, 89286145,   1063236676, 1055725,    2103278,
        1052733569, 2106337,    1023,       11556786,   1070589974, 8422268,    1072690185, 21012333,   3168169,
        14738198,   1072689165, 35714854,   8436540,    21054126,   1047554,    47270620,   12656334,   26320452,
        3151853,    58826388,   16875103,   72498689,   7354323,    69332556,   21093889,   103991809,  10507194,
        1055883377, 71468545,   1041178823, 13659043,   1067437101, 1048532121, 1060086867, 1071639571, 3153894,
        1068490781, 1057759,    1071639570, 11561883,   24479,      3182441,    1072689166, 21020490,   53026,
        5307124,    2101237,    30479093,   79526,      7429759,    8403920,    55674535,   106026,     9551369,
        14706599,   69330514,   130561,     11673089,   19960703,   82986497,   155137,     67293697,   26263385,
        1049581717, 4202470,    3153893,    1065337909, 1064287292, 1051641,    1052662,    1068489761, 2106338,
        1073739783, 1073740805, 1073739784, 9468806,    1072689163, 1072689163, 4203489,    17880871,   1072687116,
        1073739780, 13655983,   25244358,   1070586892, 1047553,    22059897,   33656418,   1070584840, 3066,
        30463812,   80884240,   1069536258, 1053681,    38867727,   96640513,   1052662,    1056744,    1059036250,
        1044329655, 1073740804, 3066,       1066388527, 1061137484, 1072690187, 1073740804, 1023,       1057760,
        1073739782, 1072690188, 7355336,    5278578,    1051641,    1072690185, 15760265,   10546949,   3153896,
        1051640,    29413194,   14765718,   5255128,    5253088,    39918343,   18984487,   7357384,    9454534,
        51472069,   23203329,   1072691208, 12607406,   1053783166, 110294529,  1072689166, 14711703,   1064287292,
        1038027991, 1072689166, 1070589975, 1051639,    1059035227, 1050621,    1071640591, 8410030,    9183,
        5253087,    1071639570, 15768417,   38752,      10506173,   1073740804, 24176400,   66276,      15758237,
        5252067,    50421450,   92776,      19961726,   11554747,   64076411,   118273,     1068488739, 17858451,
        1047481505, 142849,     1070588954, 23112556,   1062186058, 167425,     1072690188, 29415238,   1053682,
        5254108,    3152876,    1064286271, 6316950,    2103279,    10505152,   1067438123, 11581241,   1,
        17858448,   1070589974, 17893082,   1072689163, 25212769,   1051639,    23156345,   1072689162, 32566068,
        9453513,    75632176,   1071636493, 1062187079, 17857428,   1042228419, 1070585866, 1067439144, 26262366,
        1059036248, 1069536261, 1073740804, 34666281,   5101,       1069536256, 6303701,    43069173,   2126719,
        2103279,    15758238,   1055884399, 4246290,    2046,       26261346,   1063236677, 6365860,    1072691209,
        35714854,   1070588952, 8484406,    1072690186, 45169386,   3153892,    10603009,   0,          1056933996,
        11557801,   4204510,    2102257,    1065337909, 24161131,   3066,       4204512,    2043,       34666281,
        1071639569, 6306768,    8406971,    46218982,   1068488740, 8408000,    15764341,   56724132,   1064280109,
        1072691207, 33614642,   1048530079, 1060069423, 1072690186, 45170409,   1059035229, 1055857699, 1071640592,
        57773728,   1070588954, 1052694541, 1073739783, 1050632335, 4206547,    2045,       3151855,    1063236674,
        11564936,   1071640591, 8403918,    1052660,    19972921,   1069539358, 13657004,   7363490,    44118770,
        1068487719, 17859469,   14723917,   56724130,   1065334818, 22062958,   21034741,   70379091,   1064283161,
        1067438121, 55673515,   1040129228, 1064281102, 1069539358, 70378069,   1054833781, 1064280068, 1071638548,
        1044330674, 1069539358, 1068489759, 0,          1061135441, 3161028,    1068488740, 7353303,    5103,
        9472872,    1067439144, 14706600,   4221835,    14737162,   1068488740, 22059897,   8437541,    21049002,
        1069538321, 29413195,   12654271,   67229277,   0,          35717917,   16868951,   84034050,   4201451,
        1060085846, 69343749,   1032775928, 7353301,    1065336888, 1039077588, 1050632333, 1062187080, 1070589975,
        1057985631, 1068488739, 1064287292, 2103278,    6123,       1065910,    1066388526, 10506169,   31604,
        3186505,    1070588954, 21009280,   55039,      5306075,    1051642,    30463812,   77450,      7425645,
        7353301,    39918344,   99861,      9543169,    13655983,   49372876,   121345,     67264001,   19957642,
        1051682951, 6304719,    6304720,    1054834804, 1061135441, 2102255,    2103276,    1060086868, 1070588953,
        1072690186, 1072691206, 1066387505, 4204508,    1068489761, 1069540379, 1072691209, 11561881,   1065326641,
        1066384423, 5254105,    19967825,   1060060217, 1062175792, 14706599,   39916301,   1056889901, 1057963051,
        23110515,   51472068,   1053719569, 1054799897, 31514430,   63026811,   2103277,    1050589184, 1047481504,
        1044329654, 1073740804, 1052660,    1056933994, 1056933993, 1070588952, 1072691206, 1066387506, 1069539356,
        1068487718, 1070589975, 1051638,    4208588,    1065331752, 1068488739, 7358389,    10519416,   1062175780,
        1066385444, 13666161,   17878817,   1059019801, 1065332766, 33613621,   25239241,   1055864841, 1064281108,
        44118770,   63025792,   1071640589, 1064280073, 1040128205, 76681771,   1069540377, 1064280064, 1052733568,
        1036976354, 1068488739, 1068490781, 1065338931, 1052733569, 1068487718, 1068489762, 1055716,    1068489760,
        1067436058, 1067439143, 6315921,    2113469,    1068487693, 1068487719, 11577148,   6330200,    1072688131,
        1067438106, 16837350,   10545906,   1050619,    1071639560, 56724133,   14761611,   1065338931, 2101238,
        1032775928, 18976291,   1066388528, 5253088,    1049581719, 90336769,   1067438124, 8404939,    1065337909,
        1029624078, 1069538335, 1061136461, 1058771,    1048532121, 1072689159, 1063237698, 3176301,    1067440165,
        3152875,    1065337910, 5292807,    18352,      8403917,    1068488741, 6359713,    42809,      13655983,
        1071640586, 8475195,    66244,      1059035229, 4202472,    6303691,    88656,      1062187080, 10504130,
        3061,       111105,     1066388528, 16806812,   1068490782, 131585,     1071639570, 23109495,   1063235655,
        9454527,    3152875,    1052732547, 1055871076, 4203487,    10505151,   1057984612, 1047437404, 2045,
        17858449,   1063236675, 1039006789, 1070589974, 26260324,   1069539358, 1032675354, 1067431976, 1051681930,
        2101234,    1072696313, 1062169656, 1059034207, 10505153,   1069541398, 1057950774, 1066387505, 18908045,
        1065338930, 1054780449, 0,          27311960,   1062186060, 1052659712, 6306760,    36764451,   1055878234,
        3154913,    18908047,   1043279035, 1045358665, 3065,       28362580,   1051683973, 1036944435, 1071640590,
        37816088,   1061136462, 1028530195, 1069538335, 1044329655, 1070589973, 1066390569, 1066384422, 1054833781,
        4205526,    1064289335, 1063229479, 1066387507, 10512276,   1063236676, 1060073504, 1053677,    27312982,
        1062185038, 1056917521, 7361443,    38866707,   1059032142, 1054812160, 13670231,   50420432,   1048524852,
        1072691208, 38865685,   1033826547, 1043272736, 1070590995, 50421452,   1046430886, 1041168394, 1069538335,
        1036976354, 1059036250, 1059036250, 1068487718, 1050633355, 1072690189, 1059036247, 1066387488, 1065337908,
        4210619,    1060086867, 1067437076, 1057755,    9470823,    1062186059, 1070586887, 5270399,    14731025,
        1064286270, 1047552,    8434466,    50420430,   1057985564, 2101237,    12647107,   64075389,   1063237642,
        1065337908, 63025791,   1025421609, 1073737729, 1066387505, 1029624078, 1041178823, 1050632334, 1066388526,
        1047481506, 1056935014, 1053784184, 1068487719, 1065337911, 1073740805, 1059034208, 1069539346, 12234,
        2117536,    1063236676, 1051642,    32603,      4234042,    1068488740, 6302684,    52973,      5301972,
        0,          10505150,   72320,      7417454,    6302684,    15757217,   90642,      67238436,   12605366,
        1056935016, 10503093,   9453495,    1041179843, 1060086867, 3152869,    3153888,    1049580695, 1064287292,
        1070589972, 1071641610, 1056933994, 1068489762, 1063236676, 1065338931, 1065336890, 0,          1055868008,
        1060083804, 1073739784, 7353301,    1049525349, 1050602590, 4205521,    14706600,   1044234317, 1043222611,
        15758238,   22059898,   1039992861, 1035840561, 25210729,   29412173,   3152866,    1029510144, 1032775928,
        1047481503, 1072692230, 1054698,    1044329654, 1054833781, 1067439144, 1071642632, 1054833780, 1062187081,
        1062186058, 1067440164, 1066388528, 1070588953, 1055874143, 1064286271, 1054698,    3153892,    1045349459,
        1060084825, 5263264,    9459626,    1036927036, 1049565263, 10520404,   23110514,   1028504598, 1041152064,
        37815067,   33613622,   1070592017, 1032736804, 1024372013, 43068154,   1067439142, 1024324608, 1039077589,
        1038029015, 1064287291, 1067441185, 1053783165, 1049581718, 1062185038, 1065339952, 1067439142, 1060085844,
        1056930901, 1064287294, 1059787,    1071639568, 1045368895, 1062186057, 3173230,    4207561,    1039060010,
        1061135442, 4237073,    10516349,   1031702542, 1050628157, 6349491,    16824112,   1062189121, 1045375018,
        8400823,    44118769,   1062187079, 1042221077, 3059,       56723111,   1062186060, 1040117760, 1065339952,
        1029624078, 1062185037, 1057986652, 1056932974, 1044329655, 1061135431, 1059036249, 1047477421, 1057985632,
        1051682856, 1060085846, 1034807442, 1072691209, 1051681813, 1061136464, 1024245856, 3164077,    1053782021,
        1063235654, 1015796772, 7376720,    1054833780, 1055886375, 1072696307, 10540787,   1056935016, 1060086802,
        1068490782, 14753428,   1059036250, 1068487684, 1062187081, 70379091,   1062187080, 2100218,    1055882357,
        1021220164, 1066387506, 1048532122, 1049578656, 1038027992, 1065338895, 1052732547, 1029586051, 1055885420,
        2100218,    1055885420, 1012746322, 1072693249, 6302685,    1061135442, 999066654,  22419,      1046430889,
        1066386485, 1065339951, 42788,      1051682952, 1067440142, 1061138504, 62135,      1057984613, 3151854,
        1057985634, 81481,      1064286272, 9453513,    1054832762, 99841,      1070589974, 15756196,   1051679889,
        13653917,   4201450,    1038027993, 1030658163, 6303693,    11554749,   1045380270, 1009638466, 1072695293,
        18908048,   1052733569, 995974167,  1066389548, 1036978398, 1061135443, 1054836844, 1059035229, 1046430887,
        1068489762, 1054834802, 1052693605, 1055884399, 2102253,    1053784184, 1047404636, 1065337909, 11555768,
        1053783165, 1042112567, 3065,       21008259,   1053782144, 1038922752, 5259192,    29412174,   1036976225,
        5254096,    21009279,   1027523865, 1017018415, 4084,       31512386,   1038027991, 1010714639, 1069541399,
        1028574483, 1049581717, 1045382313, 1064288313, 1041178822, 1061135442, 1048531100, 1060084827, 1054832760,
        1071640590, 1050632334, 1049559127, 1067438123, 3158981,    1053783166, 1041138762, 1056731,    8416122,
        1056933996, 1032715307, 4217735,    31514430,   1051684940, 1024294912, 8427315,    43068153,   1036986394,
        1071643653, 44117749,   1017019737, 1044336646, 1068490780, 1020170568, 1031725313, 1035926759, 1065338929,
        1036976356, 1046429865, 1041179844, 1063236677, 1052732546, 1061135441, 1047481505, 1061134422, 1068489761,
        3066,       1053783164, 1049572422, 13244,      2116509,    1060085846, 1042213942, 30550,      3180352,
        1067437102, 1034856477, 46832,      5293794,    1070589955, 1029598208, 62089,      56724132,   6301664,
        1063238718, 13647770,   12599195,   1025423653, 1062188100, 3151837,    4201428,    1034877164, 1062186058,
        1067440163, 1070590993, 1044330675, 1062185037, 1056933994, 1061136463, 1053784186, 1062186060, 1046427827,
        1051680909, 1064286271, 1052732466, 1038990489, 1041143974, 1073740805, 1051681822, 1033666663, 1029521526,
        3156934,    1052731404, 1029405734, 1020020804, 17858451,   1055883264, 3152853,    1012623360, 1015968098,
        1053784186, 1071642633, 2103262,    1028573460, 1055884398, 1063238717, 1071642632, 1041179845, 1057985633,
        1055883377, 1065338931, 1054833783, 1061135442, 1048528038, 1059034207, 1067439145, 1064287294, 1031671946,
        1052730506, 1056729,    1061138459, 1017971801, 1040111771, 2117510,    1070589957, 1006382113, 1020111974,
        4226867,    4201452,    1069542417, 1005381690, 9445283,    9452495,    1064290355, 992753664,  2033,
        1043280057, 1060085846, 1066392610, 1062188099, 1048532120, 1054832760, 1063238716, 1050630293, 1054833783,
        1050629273, 1060085845, 1038022889, 1061135443, 1029597307, 1055884398, 1023242462, 1067438123, 1009619018,
        1052731526, 1011585157, 0,          995947547,  1044323471, 1002058795, 7354323,    1060087885, 1016994899,
        1072696299, 14706598,   1057986654, 1003330605, 1066390566, 23108473,   1055884397, 990716928,  1057985634,
        1032775929, 1053783164, 1055886440, 1048530078, 1042228419, 1052730505, 1054835823, 1040124124, 1051681931,
        1032768618, 1054833782, 1020125399, 1061135442, 1011755065, 1053783163, 993797244,  1070588952, 1001246739,
        1053782143, 974841894,  3154905,    1050633354, 1053781120, 1063241780, 8411031,    1051682951, 1022269503,
        1057987674, 26261345,   1052732547, 1013866527, 1052733568, 36764452,   1053783166, 1007563776, 1047479464,
        1022271801, 1055882358, 1044331695, 1041175760, 1034877164, 1043280983, 1046431906, 1023301838, 1047481503,
        1025429541, 1049581717, 985449586,  1061135442, 1024378891, 1052731526, 959164449,  1073740804, 1040130248,
        1055882357, 1051686011, 3162033,    1044331696, 1059033186, 1049584781, 6323037,    1049580695, 1035935783,
        1047482526, 9483016,    1053783165, 1040136206, 1045379248, 50420431,   1059034209, 1049587712, 1043276994,
        1011767673, 1062187074, 1032775928, 1033821381, 1028573462, 1051691022, 1039077589, 987590759,  1044330675,
        1070588929, 1044330675, 958173211,  1061135441, 1030674694, 1050632335, 1041179843, 4080,       1038027992,
        1056933993, 1042229439, 21385,      1046429866, 1064285250, 1043279035, 38691,      1053783163, 1059041293,
        1044328631, 54972,      1062186059, 3149811,    1045379251, 70230,      1070588953, 9452493,    1046428847,
        18895738,   4202472,    1021221185, 1001271386, 8399803,    12604345,   1030674696, 973965331,  1071644672,
        1021220163, 1040128208, 1029625098, 1062187078, 1031725312, 1049581719, 1033826545, 1051680910, 1043279036,
        1059035229, 1038027991, 1042185388, 1054832760, 1068488738, 1043279038, 1036848254, 1065337908, 1054693,
        1047480484, 1031535689, 1052655,    13655983,   1052730506, 1027278848, 3162022,    23109495,   1029635148,
        6302652,    24161132,   1009665418, 1007590411, 4078,       1010717057, 1022270779, 1018070353, 1067440162,
        1025422631, 1034877164, 1026473250, 1060085847, 1040128206, 1048531102, 1033826546, 1051681932, 1054833781,
        1061136464, 1042228419, 1040103585, 1069539358, 1073740802, 1050630292, 1023243374, 11203,      1062831,
        1057984613, 1011651647, 24422,      3172188,    1065336887, 1001114624, 37640,      36765473,   1064291329,
        1071644672, 16787328,   14691199,   1007564184, 1067441186, 4198358,    5247945,    1018070354, 1062188100,
        1065338931, 1068491802, 1029624077, 1056935015, 1050631312, 1055885420, 1041178824, 1052731528, 1036973295,
        1044326591, 1052732547, 1042218133, 1028471010, 1031706885, 1063237697, 1016980573, 1024149641, 1016885428,
        0,          1002258484, 1019863085, 1006291026, 1059769,    989637632,  4199367,    998878208,  11535247,
        1061139525, 1070593036, 2102222,    1072694257, 1059037269, 1060086866, 1070594057, 1059037270, 1056936037,
        1049580698, 1062188100, 1044327612, 1054833781, 1039073506, 1052733568, 1028568356, 1053781123, 1021159643,
        1044327613, 1012743488, 1048528008, 1001117825, 1034872059, 999984320,  1018058825, 987401257,  1005384875,
        990423104,  1006499878, 1069543439, 983263306,  1072694243, 995993600,  1062189120, 967471104,  1064291374,
        1049584780, 1054834801, 1066392609, 1052735611, 1050634377, 1047480483, 1061138503, 1042226377, 1051683973,
        1040126166, 1054835821, 1029621017, 1052733569, 1020140754, 1049581716, 1011732800, 1054832762, 988573816,
        1044327612, 979057856,  1056931954, 965429284,  1039073508, 955868224,  1027529779, 1057988696, 1003324578,
        1062192183, 1024378903, 1053786227, 969676865,  1054836843, 1025428480, 1050632335, 950751232,  1047481504,
        1038030036, 1046429868, 1052737651, 1039077590, 1042230460, 1042226377, 1050635396, 1031721230, 1047480484,
        1027512522, 1048533142, 1021209920, 1051681931, 985471085,  1046430887, 970718400,  1055884399, 957094942,
        1044328633, 932851776,  1061135442, 1046432927, 1042226379, 1048536203, 1046439963, 1046430886, 1009654935,
        1045382311, 1060089862, 1045380269, 967628853,  1041179844, 2100216,    1045378228, 949768192,  1036976355,
        1026474268, 1044327611, 1040131269, 1032772868, 1034876143, 1043275968, 1041180865, 1027519783, 1042229441,
        992858209,  1042230461, 972869824,  1049582739, 963446807,  1043280057, 923473984,  1057984611, 1034878182,
        1044329653, 1035929820, 1066387506, 1038027992, 1046427825, 1035927778, 0,          1041177801, 1026475147,
        1034877161, 8402897,    1043280059, 978167848,  1034875121, 15756194,   1046429868, 969764864,  1033823483,
        1014919525, 1049579676, 1027524886, 1032771846, 1026473250, 1013879891, 1031726333, 989704384,  1038026974,
        988679183,  1035927780, 929832000,  1048532122, 1024372013, 1041177802, 1023323437, 1060085846, 1029625097,
        1045379249, 1026474269, 1071639570, 1035927781, 1049581719, 1029624077, 2107338,    1042229440, 1054831741,
        1032773887, 5265281,    1048531100, 1004439577, 1034875121, 29413196,   1054832759, 1012840448, 1038023910,
        1003363758, 1048538181, 1013869928, 1022273728, 1018069332, 1032794118, 1022271801, 955070528,  1032775931,
        1012817268, 1030673674, 1010718077, 1047481505, 1022271802, 1038027995, 1017020759, 1062186057, 1031725312,
        1046429867, 1023322417, 4082,       1041179845, 1053783164, 1029625100, 17300,      1051681932, 1062185038,
        1035926760, 31543,      1061135443, 1046445064, 1042227398, 43738,      1070587931, 2101238,    1048529061,
        23082840,   4202470,    1001263546, 999189568,  10492842,   1001262523, 1012817269, 998111693,  1071643653,
        1014917482, 1024372015, 1008614800, 1057985633, 1027523866, 1035925738, 1018069332, 1044326591, 1041177802,
        1046430885, 1027523865, 1030647048, 1053783163, 1057985634, 1038026974, 1026306232, 1066388527, 1069538336,
        1047479462, 1022000214, 6114,       1054685,    1055883376, 1018778624, 16272,      15756194,   1064287294,
        8396710,    19923815,   17826659,   0,          3049,       4195281,    5243838,    0,          1065339951,
        1062188100, 1066391588, 0,          1054833782, 1045378230, 1051681929, 0,          1044326590, 1027518762,
        1035923696, 0,          1032766722, 1015870784, 1021214041, 0,          1010610352, 1013594304, 1005307136,
        0,          993728591,  1011372096, 994674816,  0,          981076992,  4195256,    987235328,  0,
        1070598135, 1069543440, 2098111,    0,          1065341992, 1055886440, 1069545481, 0,          1059036248,
        1043276995, 1059037268, 0,          1051681930, 1029618975, 1047481506, 0,          1044327612, 1011713344,
        1035923697, 0,          1036972272, 988472512,  1024365890, 0,          1003305127, 971572288,  994863360,
        0,          974897222,  1068495885, 966409344,  0,          957014016,  1059040333, 946381824,  0,
        1060089930, 1050632333, 1065345054, 0,          1055887461, 1040128207, 1057989713, 0,          1051684993,
        1030670612, 1050635397, 0,          1048531102, 1014899008, 1043280058, 0,          1044328634, 973839552,
        1035923698, 0,          1040125143, 943310912,  1027518763, 0,          1005440156, 1055888481, 993860864,
        0,          966554683,  1049585801, 950732928,  0,          947637248,  1044330674, 918124544,  0,
        1046433948, 1038026973, 1050637436, 0,          1046431907, 1031722249, 1047483545, 0,          1045381289,
        1025417528, 1043281078, 0,          1045379248, 969696448,  1039077588, 0,          1044328631, 926590016,
        1034874100, 0,          1044326590, 1042233524, 1030670613, 0,          1017016465, 1040131269, 1003347200,
        0,          971848751,  1038029015, 946594944,  0,          957144064,  1035925738, 903504896,  0,
        1033827566, 1032773887, 1035930841, 0,          1036977375, 1030670614, 1035928799, 0,          1039078609,
        980237504,  1035927782, 0,          1042228418, 924555328,  1034876141, 0,          1045379251, 1029627141,
        1033825526, 0,          1048529060, 1030676736, 1033822464, 0,          1040129157, 1032774907, 1025419520,
        0,          989729824,  1033824504, 958192768,  0,          988680192,  1034874102, 905670656,  0,
        1021221183, 1034874102, 1022272821, 0,          1027522843, 1004416192, 1025423653, 0,          1032776951,
        940352576,  1027524885, 0,          1039078611, 1017020757, 1030674694, 0,          1045380270, 1022271802,
        1033824504, 0,          1051681929, 1026473247, 1035925739, 0,          1057983589, 1031723269, 1039074528,
        0,          1023344657, 1035924717, 986571904,  0,          1045392384, 1040126166, 925669376,  0,
        1007566225, 1044326592, 1007567248, 0,          1017020759, 973983808,  1013868906, 0,          1027522845,
        1004415397, 1020171588, 0,          1036976354, 1012817268, 1026473246, 0,          1046430888, 1021220163,
        1032775930, 0,          1055884399, 1028574482, 1039077590, 0,          1065337911, 1036976355, 1045378229,
        0,          0,          1044329654, 1033832576, 0,          8404940,    1051681931, 967696384,  0,
        994959843,  1029641280, 992860651,  0,          1007566227, 991809013,  1003363759, 0,          1021220162,
        1003363757, 1012818290, 0,          1033826546, 1014918502, 1023321398, 0,          1047480483, 1026473247,
        1032774907, 0,          1060085845, 1038027993, 1042229442, 0,          1072690185, 1049581718, 1051681931,
        0,          11193,      1060085846, 1060085847, 0,          20327,      1070588954, 1033848832, 0,
        27263799,   0,          0,          0,          12583834,   0,          0,          0,          1070593035,
        0,          0,          0,          1053783165, 0,          0,          0,          1036972272, 0,
        0,          0,          1019112805, 0,          0,          0,          1014723840, 0,          0,
        0,          1012478080, 0,          0,          0,          1011352576, 0,          0,          0,
        9438096,    0,          0,          0,          995,        0,          0,          0,          1062190140,
        0,          0,          0,          1049581717, 0,          0,          0,          1035923696, 0,
        0,          0,          1022265677, 0,          0,          0,          999036160,  0,          0,
        0,          978968704,  0,          0,          0,          965231616,  0,          0,          0,
        1070597102, 0,          0,          0,          1064292397, 0,          0,          0,          1054836845,
        0,          0,          0,          1045380270, 0,          0,          0,          1035923697, 0,
        0,          0,          1025417527, 0,          0,          0,          992788736,  0,          0,
        0,          956997760,  0,          0,          0,          930679808,  0,          0,          0,
        1057991757, 0,          0,          0,          1052736629, 0,          0,          0,          1047482525,
        0,          0,          0,          1041178823, 0,          0,          0,          1034875123, 0,
        0,          0,          1028570400, 0,          0,          0,          997030144,  0,          0,
        0,          946566272,  0,          0,          0,          908717056,  0,          0,          0,
        1043284139, 0,          0,          0,          1041181884, 0,          0,          0,          1039079630,
        0,          0,          0,          1036977376, 0,          0,          0,          1034874101, 0,
        0,          0,          1031722251, 0,          0,          0,          1012809984, 0,          0,
        0,          950819968,  0,          0,          0,          902490112,  0,          0,          0,
        1029626119, 0,          0,          0,          1030675714, 0,          0,          0,          1031726333,
        0,          0,          0,          1032775929, 0,          0,          0,          1033825527, 0,
        0,          0,          1034874102, 0,          0,          0,          1035922678, 0,          0,
        0,          970808448,  0,          0,          0,          913047552,  0,          0,          0,
        1014919523, 0,          0,          0,          1019121991, 0,          0,          0,          1024373036,
        0,          0,          0,          1028574482, 0,          0,          0,          1033824505, 0,
        0,          0,          1038025953, 0,          0,          0,          1042226378, 0,          0,
        0,          1007580288, 0,          0,          0,          943536128,  0,          0,          0,
        1000213949, 0,          0,          0,          1008616844, 0,          0,          0,          1017018715,
        0,          0,          0,          1025421610, 0,          0,          0,          1032775930, 0,
        0,          0,          1041177804, 0,          0,          0,          1048530080, 0,          0,
        0,          1055882358, 0,          0,          0,          997101568,  0,          0,          0,
        986555903,  0,          0,          0,          998110673,  0,          0,          0,          1009665418,
        0,          0,          0,          1021220162, 0,          0,          0,          1032774908, 0,
        0,          0,          1044329655, 0,          0,          0,          1054833782, 0,          0,
        0,          1065336888, 0,          0,          0,          0,          0,          0,          0,
        1023,       1023,       1073740802, 0,          1049599,    2099196,    1050621,    3149814,    4197366,
        6297583,    5250027,    9448411,    7348197,    9449432,    13648838,   17850284,   11552706,   16805791,
        22053773,   25209706,   22060918,   26266447,   29414217,   32569130,   30470956,   33626890,   35724042,
        39927530,   37830379,   40985292,   43082442,   47285930,   44140205,   1,          50440843,   1,
        1073739782, 4199408,    1072690185, 5250026,    1050619,    12599240,   2100216,    14701496,   7350240,
        24152965,   9450453,    28354412,   17851305,   33611578,   21003157,   37814047,   30455647,   37822214,
        33609540,   44122854,   35716896,   45179594,   40968961,   51480233,   42024681,   53586569,   47276745,
        59888231,   49383082,   1047555,    55683720,   1073739783, 57791080,   5252068,    64091718,   6301663,
        1071640592, 16802731,   1070588953, 17854366,   2101238,    30456667,   2101237,    31509325,   10502091,
        40965900,   11552705,   43068154,   23105412,   49373897,   24158071,   53575344,   35711794,   57780873,
        37813027,   63032937,   45170409,   66188869,   48322260,   72490530,   52528809,   1072689165, 58828428,
        1071639571, 61985383,   6303705,    68286022,   7353299,    70393378,   18907026,   77743617,   18910087,
        1068488740, 32561983,   1066387505, 32565040,   2101237,    46217961,   2101236,    48320217,   12604344,
        57775768,   12607407,   61977218,   25209705,   68283979,   25212764,   73536046,   39914260,   79840769,
        42016517,   86142465,   52521664,   1070588953, 55673517,   1069538335, 63029873,   7355342,    68280919,
        7356362,    73538085,   18912124,   79838725,   18915185,   85094913,   31520546,   92445185,   31524627,
        1064287293, 51471047,   1063235656, 44134066,   2101236,    65129067,   2101237,    69329493,   13658022,
        78787089,   12611486,   84038145,   25216848,   92444161,   25219907,   98744833,   38873843,   1068488740,
        37829347,   1067438121, 58824345,   6308807,    61976197,   6308804,    72482366,   17869671,   76683812,
        16823134,   86139393,   29430532,   91391489,   27336437,   98747905,   40992414,   106099201,  37850762,
        1061135442, 71432765,   1060083804, 47315486,   1052662,    89289217,   1052663,    94540289,   12613527,
        105046529,  11565969,   111348225,  24174390,   1066388526, 22080298,   1065338931, 35735250,   5261250,
        32593600,   4212672,    47297131,   13679444,   43107924,   11584331,   80885259,   23146214,   76696065,
        17906391,   97692161,   31563382,   102944257,  25276002,   113449473,  41029124,   120800769,  32644609,
        1057984612, 79863297,   1056932973, 38965761,   3064,       117648897,  3066,       123950593,  9469835,
        1065336888, 7374726,    1064287293, 18936605,   2116542,    14745361,   1067964,    27354798,   7392067,
        22114973,   4248378,    36820541,   12666568,   28436007,   6378170,    45237761,   17940046,   35805697,
        9555514,    109244929,  22163969,   79883777,   11682305,   127102465,  27435521,   134452737,  13809153,
        1054833781, 74662401,   1053783165, 15934977,   2043,       1063237697, 2045,       2046,       5278592,
        20410,      2133883,    1049599,    10553093,   56114,      5313274,    2100218,    14779019,   89771,
        7442042,    6299623,    20051472,   121382,     10619393,   12605366,   25324033,   153089,     12746241,
        18912130,   29547009,   182785,     14872065,   24167253,   134461953,  211457,     67342849,   28374827,
        1051683973, 1050619,    2044,       1073740802, 1072695294, 1049598,    1023,       0,          37749,
        2096130,    1050621,    5250025,    72430,      1047555,    3149811,    13651900,   106089,     5253087,
        9451474,    24157048,   137729,     13659043,   15758235,   29414214,   167425,     18916212,   22063979,
        34671383,   197121,     23121741,   26271552,   40977125,   225793,     0,          31526678,   1072690185,
        1051641,    1023,       1072693249, 0,          1050621,    3150834,    1047554,    7352279,    1048576,
        10500048,   2101239,    17856408,   2096131,    19955602,   8400856,    28362579,   1051641,    24163171,
        19953559,   37817108,   9456576,    29419318,   26262366,   46223065,   16811914,   34675464,   31518511,
        54629022,   21018464,   1073740805, 37824254,   1069538335, 24175418,   1023,       45178572,   1051641,
        1022,       6301664,    1072689165, 9455554,    1,          15755175,   1073739783, 19960699,   2100218,
        26260325,   3150832,    33614641,   5251047,    33616684,   12604345,   45170407,   15752111,   40972024,
        24158069,   56726174,   22059897,   48327362,   33614643,   67232342,   26267469,   1071638548, 42020599,
        1065337910, 32572191,   2045,       50426556,   1052660,    37828337,   8403917,    58831488,   11557804,
        1073740805, 19957642,   1066387504, 21016413,   1073740804, 31512387,   1072689165, 32573193,   2101235,
        42018557,   5253088,    53572280,   10503111,   51475131,   14707615,   66179683,   22055813,   60930682,
        28361559,   79835663,   30462791,   1067438123, 39917324,   1062186059, 36769554,   1052662,    51473090,
        1052660,    44124893,   10507190,   61979258,   10513307,   51481254,   21013356,   72485427,   18926399,
        1069539357, 36765471,   1060085846, 28387040,   1072690186, 49371856,   1071638549, 37848703,   3152874,
        61977217,   6305745,    76682792,   13655980,   73534003,   15763334,   92439041,   26259302,   1064286272,
        26270516,   1059034207, 36765472,   1052660,    46220003,   3063,       46222044,   10512291,   59875982,
        7370637,    55678619,   21020494,   73531961,   13688611,   65134170,   31528693,   86139393,   20005559,
        1063236675, 56725152,   1054833782, 26323530,   1071639569, 71431750,   1069538336, 32640513,   6303704,
        86137345,   5259208,    105042433,  15760274,   1060085845, 14719854,   1054834802, 26267461,   1052661,
        24180496,   3067,       43069175,   8418196,    33642160,   2129792,    55674536,   16831281,   68279896,
        5305095,    67231322,   25245388,   85084673,   7429774,    79836684,   33659492,   99793409,   9554453,
        1057983590, 73542151,   1049582739, 11677185,   1070588954, 98740737,   1067438123, 13799937,   6306764,
        1056935017, 3163074,    1052661,    15765369,   3065,       10529624,   0,          26274594,   5274503,
        16847597,   1073739783, 36783815,   9496341,    23164544,   1,          64078451,   13718178,   29481490,
        3151853,    78784025,   18987567,   74610177,   6304726,    93490689,   23207425,   113446401,  8408000,
        1052732549, 72532481,   1045380270, 10511276,   1068488741, 1053783164, 1065337910, 0,          4210629,
        2044,       1066941,    1073739783, 12624739,   33658,      4242244,    1073740804, 21038847,   64250,
        6367947,    3151855,    29451928,   92794,      8491602,    9453515,    36817456,   121345,     10615297,
        14706598,   90337793,   147969,     12739073,   18911108,   107143681,  173569,     67309057,   23114595,
        1047481505, 2103279,    2103278,    1071639568, 1066387505, 1050620,    1051642,    1072689165, 2114496,
        1073739783, 1073740804, 0,          7385934,    1073738760, 1073739782, 6303706,    11607772,   1023,
        1051640,    14706601,   16877161,   2103279,    4204514,    22060919,   21096961,   3156959,    7356363,
        29414216,   25316865,   4209616,    9459638,    35718938,   120797697,  3066,       11562914,   1067437101,
        1043279036, 1073740803, 2044,       1071638549, 1064287292, 1073739782, 1073740804, 2102259,    18363,
        2100216,    1073739784, 9455553,    49978,      6302684,    1050620,    19958663,   79546,      10506174,
        6302686,    29413193,   107067,     13660066,   11555768,   38868749,   134657,     16812936,   16808852,
        48322257,   160257,     1073739783, 21013364,   1062185037, 185857,     1072690186, 25216851,   1069539356,
        3153896,    1047554,    1071639571, 3153892,    2101237,    5252069,    1072689166, 11559845,   1047554,
        11555770,   1072690185, 21015391,   1073738762, 17859470,   3151855,    37816090,   1073739780, 24163174,
        10505154,   49370833,   1051639,    29417279,   18908048,   60926600,   2105319,    1069539357, 25212767,
        1055884397, 4207575,    1071639569, 32566065,   1068488740, 4211657,    1051642,    38870788,   4205529,
        1052661,    8403918,    1065336888, 11564938,   1023,       16807832,   1069538337, 19973942,   1073739782,
        26261344,   1073739782, 28383968,   1047554,    33616683,   5254108,    58825364,   4201451,    42020598,
        14707621,   73529919,   8403917,    1064287293, 25210728,   1051681931, 11558832,   1070588952, 34665259,
        1066388526, 14711701,   3151851,    44119791,   3158992,    17865595,   10507187,   52525748,   8424303,
        1073739782, 23109493,   1057983589, 14738189,   1072691208, 33614642,   1065337909, 21052074,   1072691209,
        44119791,   1,          26317380,   2101238,    54624941,   7356358,    86134273,   8403920,    1059035229,
        16811907,   1046430888, 15756195,   1069538336, 31514430,   1064288313, 21011322,   4204510,    43069174,
        1062856,    26265426,   12611479,   54624941,   3185495,    31519531,   21019467,   66179684,   5307109,
        1068488740, 40968962,   1050631313, 7427700,    1070589975, 54622899,   1062187081, 9548290,    1073739784,
        67228260,   1023,       11667969,   4202470,    1053783164, 7361458,    3153894,    12606387,   1067439145,
        15769440,   2044,       22058876,   3157972,    24179467,   1072689165, 30463813,   10519420,   52521663,
        1070588947, 37819152,   17880866,   66177642,   1069535255, 46223068,   25242309,   79833621,   1067430935,
        1061136463, 64077430,   1043280057, 1065327632, 1067438123, 79832602,   1059035228, 1064273926, 1073740803,
        1048532121, 1072693248, 2046,       6305745,    1065338931, 5267360,    1072690188, 15759252,   2110412,
        11581247,   1070589973, 28362579,   6329187,    17895132,   1070588947, 38866705,   10546937,   23160439,
        1072688137, 49371854,   14764686,   70388259,   2046,       59877004,   18981411,   93488641,   2103280,
        1053783164, 70405633,   1036977376, 4203490,    1064286271, 1044329655, 1055883376, 1069540377, 0,
        1063238718, 1072693249, 1069540379, 8407995,    15301,      2124687,    1070587931, 16814962,   41803,
        4246302,    1071639564, 25222947,   67282,      6367917,    2102260,    47271642,   91738,      8488507,
        7353300,    60925579,   115201,     10608129,   11556789,   73530940,   137729,     67278337,   16808855,
        1047479461, 5254107,    5254107,    1064287294, 1061135442, 1052660,    2102258,    1066388526, 1023,
        1072691208, 1073740805, 1069539356, 7362473,    1071637522, 1071639570, 0,          14723919,   1068483613,
        1070587924, 7353302,    22085364,   1065324579, 1068483608, 14706600,   29447829,   1063214107, 1066379284,
        22059898,   72479304,   1061104650, 1065325579, 29413196,   87185921,   1053682,    1063223296, 1056935015,
        1040128205, 1073740804, 1051639,    1063237697, 1056935014, 1071639569, 1073740805, 1070588952, 1072693248,
        1070588948, 1071639569, 3152873,    4219800,    1070586897, 1070589974, 10507186,   8438574,    1070586891,
        1071638543, 22059897,   12655300,   1071636485, 1073739780, 31514429,   16873049,   1071639553, 1052663,
        42017537,   21089793,   1072690187, 3153897,    1050632335, 100839937,  1071639571, 5254107,    1060086867,
        1033826547, 1070588952, 1069540378, 1070589973, 1053784186, 1070589969, 1070588953, 4206547,    1073740802,
        0,          1069539356, 11562891,   28552,      4201450,    1070589974, 18921281,   55054,      7354323,
        1047553,    42017536,   79510,      10506173,   4203492,    53573302,   102942,     1067438123, 9455557,
        1044329655, 126465,     1068488740, 14706598,   1057984613, 148993,     1069539356, 18910088,   1071639571,
        7354318,    1072690183, 1062187078, 4210621,    3152872,    4203493,    1065337910, 9472869,    1023,
        10505151,   1068487718, 14735115,   1071640591, 16807832,   1072689167, 19996335,   1070585878, 23110514,
        3152875,    66177643,   1067428898, 1061135442, 10505151,   1038026973, 1064269857, 1065336888, 17858449,
        1054833783, 1062159379, 1070588954, 25211747,   1071639570, 1060049920, 2101237,    32565046,   2116521,
        3152873,    9455557,    1053784185, 4235071,    2043,       17858449,   1060085844, 6352597,    1072690187,
        27310940,   1067437101, 7421547,    1071638548, 35714855,   1047554,    9538049,    1070587922, 1053783163,
        6305742,    5254101,    1070586894, 1062186058, 16808855,   3063,       1070586888, 1070589975, 27310939,
        1070589975, 1071637507, 4203486,    36765471,   1065337909, 1072689152, 11559839,   46220003,   1060071491,
        1072691207, 26261345,   1045380269, 1053754438, 1071640590, 36765471,   1055883377, 1047433269, 1070589975,
        47270620,   1065337908, 1042160660, 1070589975, 1047480483, 1052661,    1072695291, 1072689161, 1059035228,
        8409008,    1070590994, 2101237,    1070589972, 14717799,   1067439143, 5254110,    4208584,    35715876,
        1065336889, 8405959,    10518392,   48320219,   1059029049, 11557810,   17876774,   59874962,   1054821426,
        1066388527, 47269600,   1036977375, 1049565218, 1067439143, 59874961,   1050632334, 1045357580, 1068489761,
        1041177802, 1064287292, 1067440164, 1071638548, 1055884398, 1054697,    1066388526, 1051639,    1071639570,
        6316945,    1065337910, 7354322,    3164083,    11579192,   1065336889, 13657003,   7378770,    17890013,
        1061134379, 19959685,   10543856,   59873942,   1061134363, 26261343,   14757517,   73529919,   1063233548,
        1057985631, 68282946,   1029623057, 1066385410, 1063236677, 1033826545, 1046429866, 1060086865, 1067438122,
        1052733568, 1063236676, 1062186058, 1072691209, 1071639569, 1056734,    1063237697, 5253085,    21407,
        3176308,    1066387507, 13657003,   43820,      5293834,    1066388503, 22060918,   65211,      6362784,
        1047553,    31513409,   85578,      8480310,    5252068,    39917324,   104961,     67250689,   10503111,
        1049582739, 8403906,    7355332,    1052733569, 1057984611, 2103274,    3152870,    1056935014, 1066387505,
        1071640591, 1072691208, 1062187080, 2043,       1066387506, 1068487718, 1068487719, 7357375,    1061118024,
        1063235651, 0,          14713725,   1054793807, 1056914503, 7353300,    31513408,   1050562622, 1050594368,
        14706599,   42018557,   1046332440, 1045321766, 22059898,   53572283,   2104296,    1040050176, 1044330674,
        1041178822, 1072692229, 1053680,    1052733569, 1052733568, 1068489759, 1072691207, 1061136462, 1065336888,
        1065336887, 1069539357, 1070588953, 1053678,    1059025982, 1066387505, 3153887,    7363488,    1053763644,
        1064286272, 9459617,    13673295,   1047449643, 1056925751, 25209705,   21031676,   1041136656, 1051668523,
        34664237,   53572280,   1070592015, 1047460887, 1036976354, 67227241,   1068489760, 1043254272, 1048531099,
        1032775928, 1066388527, 1068489760, 1060086868, 1048531100, 1065336890, 1067439145, 1072690187, 1063237696,
        1060081714, 1066387506, 4209597,    1055715,    1056928807, 1065336888, 8419182,    5271427,    1054825495,
        1065336888, 13678365,   8436513,    1053773831, 1061133347, 47269600,   12651199,   1064288314, 1062183955,
        1028574483, 16864859,   1064287292, 1064285191, 1044329654, 80882198,   1064287292, 1069536256, 1059036249,
        1025421609, 1065337910, 1060085845, 2045,       1043280057, 1063236642, 1061136461, 2117532,    1062187081,
        1066388494, 1063235654, 4231994,    9176,       1046529,    1065336891, 5297881,    32613,      4200429,
        1068487721, 7411318,    54004,      1056935017, 1069539339, 7352257,    75394,      1060084824, 2102259,
        3060,       95761,      1063236677, 7353302,    1067439143, 115201,     1067437101, 12604344,   1060084826,
        11554734,   1069540364, 1050632334, 1051675785, 5254102,    3152875,    1054834803, 1041118321, 2045,
        9454534,    1060084823, 1031627859, 1068489760, 15757217,   1065336888, 1024236575, 1063235652, 1048532121,
        1071638548, 1072696310, 1057956942, 1054834803, 3152874,    1069540378, 1052679242, 1062186059, 11554750,
        1064287293, 1048447021, 1069538336, 18907025,   1059034208, 1045267456, 2102256,    26260324,   1053781121,
        4204505,    11554749,   1040129226, 1035894879, 3062,       19958664,   1048532121, 1024321603, 1070590994,
        28361556,   1056935016, 1012750361, 1067438124, 1041177802, 1065337908, 1065340972, 1063236674, 1050632334,
        2045,       1063237696, 1056919615, 1061135441, 6306752,    1060086867, 1050606646, 1071639570, 19958663,
        1057984612, 1044293663, 4206542,    29413195,   1055883379, 1039029248, 9464711,    39916303,   1035915340,
        1072691207, 29413194,   1030674694, 1026456625, 1069540376, 40966919,   1042229439, 1016998929, 1067439144,
        1032775931, 1054832760, 1056936035, 1065337909, 1046430889, 1066388527, 1056936037, 1064287293, 1060085846,
        1055717,    1056935014, 1057980462, 1073740804, 6314902,    1057984612, 1055877151, 3163053,    11573061,
        1059034207, 1053774863, 6326100,    40966918,   1042230325, 1052723200, 10536698,   53572283,   1039080477,
        1064288314, 53572282,   1021221185, 1040130056, 1064287291, 1025421611, 1036976356, 1047482524, 1064287292,
        1042228419, 1051682952, 1050633354, 1065336890, 1059035228, 1067438123, 1054833783, 1066387505, 3062,
        1059789,    1059034209, 1064287256, 22411,      3175275,    1063235656, 1069539335, 40737,      4241161,
        1054838812, 2100216,    59063,      6354599,    1066389510, 5252067,    76365,      67227238,   3150835,
        1054834801, 11551655,   10503081,   1039077589, 1057985632, 3152864,    4202458,    1045380270, 1061136463,
        1069539355, 1071640589, 1051682950, 1065336890, 1060085847, 1063237696, 1059035228, 1069538335, 1051671693,
        1055882356, 1066388527, 1050621,    1044254841, 1046396032, 0,          6303705,    1038951514, 1035848806,
        7354322,    12606387,   1034699810, 1027406907, 15756196,   18908046,   3153883,    1021067264, 1029624078,
        1045381292, 1071642631, 1054692,    1039078609, 1051682951, 1065338930, 1071642632, 1049582740, 1057985632,
        1059035229, 1066389548, 1060085845, 1065337910, 1052728453, 1061136463, 1070589973, 1072691209, 1037981800,
        1055883377, 3155922,    5254101,    1026401356, 1044312179, 6313869,    15756195,   1016920092, 1029583956,
        28361559,   24160110,   1070590993, 1018011695, 1020170568, 32564025,   1066389549, 1007491072, 1033825524,
        1035926760, 1062187080, 1067441186, 1047481505, 1045381292, 1057984610, 1064289334, 1061136462, 1055884400,
        1054831739, 1062186057, 2044,       1066387506, 1034856534, 1059035227, 2114467,    1052657,    1024340027,
        1056933996, 3177291,    6310827,    1012776981, 1046424675, 5287666,    12617571,   1061138504, 1030661184,
        9447341,    35714857,   1060086866, 1021203490, 3058,       46220005,   1059035228, 1013844992, 1064288313,
        1026472228, 1057984613, 1056937058, 1053782145, 1039078610, 1057982569, 1056936036, 1042226379, 1052733568,
        1038023745, 1056935014, 1029547190, 1066388525, 1031718951, 1057984613, 1017911404, 1057753,    1026466829,
        1059033186, 1009452071, 5269376,    1052733567, 1053783121, 1072696303, 8431399,    1053784183, 1040130089,
        1067441186, 11593422,   1055884398, 1039080466, 1060085845, 59874961,   1057984611, 1041180672, 1051681929,
        1015969119, 1061134420, 1046431909, 1044326590, 1033825527, 1047485481, 1049582739, 1024329898, 1050632335,
        1050637330, 1052733568, 1002217567, 1067438121, 1060086787, 1056933996, 986430498,  13249,      1043280056,
        1061134421, 1064290353, 31574,      1048531100, 1065335867, 1060086865, 49900,      1053782142, 1059040272,
        1054834801, 67202,      1059034207, 1047552,    1050631313, 84503,      1065335868, 6300644,    1046427824,
        16799628,   1063241742, 1034878184, 1025405086, 7352259,    3150833,    1042229442, 993866832,  1072694270,
        9453515,    1048532122, 977045532,  1064288313, 1033826546, 1055883377, 1053786228, 1055882358, 1042229440,
        1063235654, 1052733568, 1047437446, 1050632333, 1070588952, 1050633355, 1042126958, 1060084824, 4201449,
        1049581719, 1036824641, 1068488738, 11554747,   1048530081, 1032577024, 2103273,    19956622,   1034871952,
        6302662,    12605364,   1024372013, 997052479,  4081,       22058878,   1034876144, 983395349,  1068490781,
        1024373035, 1044330675, 1043281078, 1062187080, 1036976355, 1054833780, 1045380269, 1055883379, 1048532122,
        1065337909, 1046431908, 1044305017, 1061135442, 1051637,    1048532123, 1032716381, 1072691209, 5259183,
        1051680912, 1022184502, 3158971,    23109494,   1052730497, 1012705280, 5270380,    33612600,   1009679404,
        1071643651, 33614640,   1012818290, 1007578125, 1068489759, 1015968100, 1027522846, 1032775928, 1064288315,
        1030674694, 1041177803, 1038027994, 1060085845, 1046430888, 1054832760, 1043279036, 1056932975, 1062186059,
        1068488741, 1048531101, 1045367915, 4078,       1058767,    1053783165, 1029598282, 20364,      2121591,
        1060083804, 1018034217, 35626,      4232990,    1035941911, 1008569344, 49864,      47268578,   1052741636,
        1062189122, 15742861,   13645709,   1022271803, 1061136461, 4199385,    4200399,    1030674695, 1059036248,
        1066389547, 1069541398, 1039078611, 1057985633, 1053783165, 1059035229, 1048530078, 1057983591, 1041175761,
        1047479462, 1056933994, 1049579611, 1033729211, 1035898066, 1066386485, 1034870837, 1029429361, 1023202452,
        0,          1028568090, 1025159210, 1013680204, 8403919,    1024365568, 4201422,    1005227008, 1011766653,
        1051683971, 1070593034, 2103254,    1023322419, 1052734587, 1062187079, 1070594057, 1035925737, 1054834803,
        1052731525, 1063238716, 1047481503, 1056933993, 1043276996, 1055884399, 1060085846, 1060083804, 1026413744,
        1048529060, 1071640590, 1060084807, 1008491621, 1038014665, 1058754,    1048536093, 995844133,  1012747399,
        2118517,    1054836745, 1069543440, 993799234,  10490777,   1065337856, 1063239738, 980112384,  1072695281,
        1041178822, 1056936035, 1066392610, 1061137484, 1045381290, 1051680909, 1062189121, 1047479465, 1050632333,
        1045377207, 1056937057, 1032771846, 1055884399, 1024342180, 1052733569, 1017990412, 1062185038, 996993112,
        1048530081, 1005258913, 1068486697, 980164640,  1044326592, 996760621,  1072690178, 1059038291, 1009634425,
        1072695271, 6301662,    1055886440, 985455671,  1065340970, 12604345,   1052734590, 969686016,  1054835822,
        1029625099, 1050630292, 1054835822, 1045378228, 1038027993, 1047478441, 1052735610, 1034872059, 1046430886,
        1029613719, 1051683974, 1015926024, 1055883379, 993886280,  1050631313, 986426525,  1064287293, 978122777,
        1049579676, 964300842,  1073739782, 1048533141, 1048528038, 1063240758, 4205516,    1048533143, 1014912105,
        1055888482, 16807833,   1048532120, 989699115,  1049583760, 26260323,   1049580697, 977093632,  1043278015,
        1019119951, 1049580697, 1042231482, 1035924719, 1030674695, 1042227337, 1044330674, 1021204740, 1042229439,
        1002316854, 1046430889, 977034391,  1054833782, 992864273,  1047481504, 943379493,  1066388525, 1038029015,
        1050630293, 1050635395, 1055714,    1041179844, 1052730506, 1047483546, 4214675,    1045379248, 1030679639,
        1044330673, 7373636,    1048531100, 1007579164, 1041177802, 39916301,   1052731526, 1007579136, 1038024931,
        1007565204, 1056931952, 1029626119, 1034872061, 1023321397, 1021237282, 1034877161, 979180690,  1039077591,
        1027536904, 1040129227, 936095776,  1053784185, 1027523865, 1045380269, 1038031056, 1069539357, 1033826545,
        1051680909, 1039078609, 12221,      1041178824, 1056932972, 1039078610, 27483,      1048531102, 1056936005,
        1039077588, 42745,      1055883379, 1043291147, 1040125143, 56983,      1063235656, 1065338880, 1040124123,
        20989801,   1052743692, 1018069332, 994962571,  9447346,    2101237,    1026473249, 943497241,  1072692227,
        1017018716, 1034876141, 1026474267, 1060085844, 1027522845, 1043280057, 1030674695, 1047479463, 1038026974,
        1052732548, 1033826546, 1036937431, 1048530079, 1061136463, 1038026974, 1031576729, 1057985632, 1070588954,
        1041177803, 1026243664, 1068489761, 4202472,    1045377208, 1023029248, 1054689,    12605366,   1025428613,
        7350193,    14706601,   1005463970, 967682065,  3052,       1006513566, 1017019736, 1014918503, 1066390569,
        1020169545, 1029624078, 1022270780, 1056935014, 1033825524, 1042228420, 1028574482, 1048529061, 1047481504,
        1053784187, 1035926759, 1035907278, 1061137485, 1066387506, 1043279038, 1016926349, 2043,       5097,
        1050630293, 1002166343, 14243,      2113435,    1056932974, 990571520,  26443,      26261345,   1010747401,
        1070598140, 18880371,   16783217,   1002314162, 1066391589, 4197332,    5245892,    1012818289, 1060087886,
        1063238715, 1067442207, 1024370993, 1054832760, 1048529059, 1053784186, 1034875120, 1048529058, 1032769804,
        1040125143, 1045379249, 1040122053, 1022168334, 1026467126, 1054834803, 1009617024, 1018870947, 1011619032,
        1065336888, 988577853,  1016663087, 1001006184, 0,          972801024,  4197312,    992529408,  0,
        1060089928, 1069543438, 2100166,    0,          1056938078, 1057986653, 1070594057, 0,          1054834803,
        1046428846, 1060088908, 0,          1051681929, 1033822465, 1050631313, 0,          1048530079, 1015909642,
        1040125143, 0,          1046426803, 994793631,  1029618975, 0,          1010699377, 978957356,  1000122579,
        0,          985480241,  1068494862, 974835812,  0,          970767360,  1061138502, 956926976,  0,
        1048534164, 1052733567, 1066393631, 0,          1048533142, 1044328633, 1060088908, 0,          1048532119,
        1035922677, 1052735609, 0,          1049580697, 1016992006, 1046430887, 0,          1049580697, 980156570,
        1040126167, 0,          1050629272, 952791080,  1032771847, 0,          1021221984, 1056938076, 998066382,
        0,          997065763,  1051686014, 959155295,  0,          989713408,  1047481505, 933913600,  0,
        1035928801, 1042228420, 1051688056, 0,          1040128206, 1036974313, 1049583758, 0,          1043280058,
        1027514626, 1046431910, 0,          1046430886, 977057941,  1043279037, 0,          1050631313, 938164258,
        1040126166, 0,          1054831739, 1044333737, 1035923696, 0,          1042234446, 1043281077, 1005450441,
        0,          1023337492, 1042229442, 956062809,  0,          1032787968, 1040128207, 925588480,  0,
        1023323438, 1039075549, 1038031055, 0,          1030675717, 1036973292, 1039079632, 0,          1038026972,
        985497743,  1039078609, 0,          1044330675, 937174044,  1039078611, 0,          1051682953, 1032776950,
        1039077590, 0,          1059035230, 1034877164, 1040125145, 0,          1066387507, 1036976354, 1025420484,
        0,          1067441154, 1039076569, 967654483,  0,          6301665,    1040127185, 936144896,  0,
        1011766651, 1042226377, 1024374054, 0,          1022270780, 1007573128, 1028574481, 0,          1032774909,
        952967189,  1031726332, 0,          1043278014, 1020172609, 1035926760, 0,          1053782143, 1026473250,
        1039077588, 0,          1063237697, 1031724290, 1043278017, 0,          1073740802, 1036976355, 1046428847,
        0,          2108352,    1042228420, 994980939,  0,          18909068,   1047479462, 967682048,  0,
        999161289,  1046430849, 1010718076, 0,          1012817267, 986592269,  1018070354, 0,          1027521822,
        1008615820, 1025422631, 0,          1041177802, 1017020759, 1032774908, 0,          1054833782, 1026473249,
        1040127186, 0,          1068488740, 1034877164, 1046429865, 0,          8143,       1044328631, 1053782145,
        0,          20343,      1052732548, 1040138307, 0,          31519,      1061135443, 1023345664, 0,
        25173831,   1040146437, 997062099,  0,          11538338,   997060056,  1007566226, 0,          1071642632,
        1008616844, 1019118929, 0,          1055884399, 1021221184, 1029623056, 0,          1040125144, 1033825524,
        1040127184, 0,          1024364864, 1046429866, 1050631314, 0,          1019989210, 1057984610, 1060085845,
        0,          1017762922, 1069539357, 1070587932, 0,          1014526976, 6103,       5252068,    0,
        8393627,    0,          0,          0,          2022,       0,          0,          0,          1064289333,
        0,          0,          0,          1051682950, 0,          0,          0,          1040125143, 0,
        0,          0,          1027518762, 0,          0,          0,          1004297430, 0,          0,
        0,          986347622,  0,          0,          0,          972630016,  0,          0,          0,
        1070598131, 0,          0,          0,          1065340970, 0,          0,          0,          1056936035,
        0,          0,          0,          1048531100, 0,          0,          0,          1040125143, 0,
        0,          0,          1031719187, 0,          0,          0,          998044881,  0,          0,
        0,          965422178,  0,          0,          0,          943322112,  0,          0,          0,
        1059040332, 0,          0,          0,          1054835821, 0,          0,          0,          1049583759,
        0,          0,          0,          1044330674, 0,          0,          0,          1040126167, 0,
        0,          0,          1034872060, 0,          0,          0,          1000185036, 0,          0,
        0,          956035164,  0,          0,          0,          927652864,  0,          0,          0,
        1045383331, 0,          0,          0,          1044331695, 0,          0,          0,          1042230460,
        0,          0,          0,          1041178824, 0,          0,          0,          1040126166, 0,
        0,          0,          1038024932, 0,          0,          0,          1013862598, 0,          0,
        0,          960284758,  0,          0,          0,          928768000,  0,          0,          0,
        1031727354, 0,          0,          0,          1033826545, 0,          0,          0,          1035926759,
        0,          0,          0,          1038026974, 0,          0,          0,          1039077589, 0,
        0,          0,          1041176781, 0,          0,          0,          1040126145, 0,          0,
        0,          979219535,  0,          0,          0,          948766720,  0,          0,          0,
        1018070353, 0,          0,          0,          1023322417, 0,          0,          0,          1028574482,
        0,          0,          0,          1033826546, 0,          0,          0,          1039078611, 0,
        0,          0,          1045378229, 0,          0,          0,          1050629272, 0,          0,
        0,          1014937671, 0,          0,          0,          991842304,  0,          0,          0,
        1004414375, 0,          0,          0,          1012818290, 0,          0,          0,          1022270780,
        0,          0,          0,          1030674694, 0,          0,          0,          1040127185, 0,
        0,          0,          1048531101, 0,          0,          0,          1056933995, 0,          0,
        0,          1065335867, 0,          0,          0,          1062192128, 0,          0,          0,
        990758398,  0,          0,          0,          1003362738, 0,          0,          0,          1014918502,
        0,          0,          0,          1027523866, 0,          0,          0,          1040128207, 0,
        0,          0,          1051682950, 0,          0,          0,          1063237695, 0,          0,
        0,          2044,       0,          0,          0,          10161,      0,          0,          0,
    }},
};

#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif /* End of #ifdef __cplusplus */

#endif /* __IMX307_CMOS_EX_H_ */
